diff --git a/.github/pull_request_assignment.yml b/.github/pull_request_assignment.yml
index c9ee708757fe..b6481d867be4 100644
--- a/.github/pull_request_assignment.yml
+++ b/.github/pull_request_assignment.yml
@@ -7,6 +7,18 @@
- kristapratico
- maririos
+- rule:
+ paths:
+ - "specification/confidentialledger/data-plane/**"
+ reviewers:
+ - christothes
+
+- rule:
+ paths:
+ - "specification/@(applicationinsights|operationalinsights)/**"
+ reviewers:
+ - akning-ms
+
- rule:
# eventgrid data-plane PR
paths:
@@ -21,6 +33,13 @@
reviewers:
- lmazuel
+- rule:
+ # data-plane PR
+ paths:
+ - "specification/**/data-plane/iot**"
+ reviewers:
+ - drwill-ms
+
- rule:
# data-plane PR
paths:
@@ -29,20 +48,13 @@
- anuchandy
- jhendrixMSFT
- tjprescott
-
- rule:
paths:
- "specification/network/**"
reviewers:
- - kairu-ms
- lirenhe
-- rule:
- paths:
- - "specification/@(applicationinsights|operationalinsights)/**"
- reviewers:
- - kairu-ms
- rule:
paths: "specification/@(resources|powerplatform|appplatform|deviceupdate)/**"
@@ -57,7 +69,7 @@
- rule:
paths: "specification/sql/**"
reviewers:
- - akning-ms
+ - zhenglaizhang
- rule:
paths: "specification/signalr/**"
@@ -80,42 +92,36 @@
reviewers:
- ArcturusZhang
-- rule:
- paths:
- - "specification/azureactivedirectory/**"
- reviewers:
- - njuCZ
-
- rule:
paths:
- "specification/authorization/**"
reviewers:
- - qianwens
+ - ruowan
- rule:
paths:
- "specification/datafactory/**"
reviewers:
- - qianwens
+ - leni-msft
- rule:
paths:
- "specification/monitor/**"
reviewers:
- weidongxu-microsoft
- - kairu-ms
- rule:
paths:
- "specification/storage/**"
reviewers:
- - Juliehzl
+ - jianyexi
- rule:
paths: "specification/mediaservices/**"
reviewers:
- allenjzhang
+
- rule:
paths:
- "specification/containerregistry/**"
@@ -158,13 +164,12 @@
- "specification/servicelinker/**"
reviewers:
- raych1
-
+
- rule:
- paths:
- - "specification/azurestack/**"
- - "specification/automation/**"
+ paths:
+ - "specification/keyvault/**"
reviewers:
- - xiaoxuqi-ms
+ - zhenglaizhang
- rule:
paths:
@@ -192,17 +197,13 @@
paths:
- "**"
reviewers:
- - erich-wang
- PhoenixHe-msft
- lirenhe
- weidongxu-microsoft
- ArcturusZhang
- raych1
- - ChenTanyi
- - njuCZ
- akning-ms
- leni-msft
- - qianwens
- ruowan
- jianyexi
- zhenglaizhang
diff --git a/CODEOWNERS b/CODEOWNERS
index c8ed0fa05b4a..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,7 +63,7 @@
/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
@@ -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
diff --git a/cSpell.json b/cSpell.json
index 2e6290868c5c..8c55c0f311b5 100644
--- a/cSpell.json
+++ b/cSpell.json
@@ -4,6 +4,7 @@
"words": [
"Creds",
"partiallycompleted",
+ "subchannel",
"umls"
],
"dictionaryDefinitions": [
@@ -63,6 +64,12 @@
"Tera"
]
},
+ {
+ "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": [
@@ -75,6 +82,12 @@
"Ruleproperties"
]
},
+ {
+ "filename": "**/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/Rules.json",
+ "words": [
+ "Ruleproperties"
+ ]
+ },
{
"filename": "**/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2014-09-01/servicebus.json",
"words": [
@@ -217,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": [
@@ -273,6 +292,12 @@
"Regenerte"
]
},
+ {
+ "filename": "**/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/storage.json",
+ "words": [
+ "Regenerte"
+ ]
+ },
{
"filename": "**/specification/adhybridhealthservice/resource-manager/Microsoft.ADHybridHealthService/stable/2014-01-01/ADHybridHealthService.json",
"words": [
@@ -738,23 +763,11 @@
]
},
{
- "filename": "**/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/communicationserviceschat.json",
+ "filename": "**/specification/communication/data-plane/Chat/preview/2020-09-21-preview2/communicationserviceschat.json",
"words": [
"readreceipts"
]
},
- {
- "filename": "**/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/communicationservicesadministration.json",
- "words": [
- "areacodes",
- "locationoptions",
- "phonenumbers",
- "phoneplangroups",
- "phoneplans",
- "pstn",
- "unconfiguring"
- ]
- },
{
"filename": "**/specification/saas/resource-manager/Microsoft.SaaS/preview/2018-03-01-beta/saas.json",
"words": [
@@ -793,6 +806,25 @@
"vmsize",
"vmsizes"
]
+ },
+ {
+ "filename": "**/specification/web/resource-manager/Microsoft.Web/stable/2020-12-01/CommonDefinitions.json",
+ "words": [
+ "Guage"
+ ]
+ },
+ {
+ "filename": "**/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/confluent.json",
+ "words": [
+ "orgvalidate"
+ ]
+ },
+ {
+ "filename": "**/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-02-10/service.json",
+ "words": [
+ "Orignal",
+ "Seleted"
+ ]
}
]
}
diff --git a/custom-words.txt b/custom-words.txt
index d8051f6b626f..14a67a73ca79 100644
--- a/custom-words.txt
+++ b/custom-words.txt
@@ -4,6 +4,7 @@ A256CBCPAD
AADDS
aadiam
AADP
+aapl
AATP
abcxyz
ABFS
@@ -55,6 +56,7 @@ alertrules
alertsmanagement
alertstate
Alexa
+Algo
allowlist
Alon
amazonservices
@@ -134,6 +136,8 @@ artifacturi
asciifolding
Asns
aspnet
+assessmentprojects
+Asturian
asyncinfo
asyncoperation
atascada
@@ -184,6 +188,7 @@ AzureAD
azureADMetrics
azureasyncoperations
azureblob
+azurebot
azurecli
azurecr
azuredatabasemigrationservice
@@ -209,6 +214,7 @@ backendid
backends
backfilling
Backoff
+backplane
backupconfig
backupengine
backupstorageconfig
@@ -249,6 +255,7 @@ bingvideosearch
bingvisualsearch
bingwebsearch
Bioconductor
+Bislama
Bitbucket
Bitlocker
bitness
@@ -261,6 +268,7 @@ Blockchain
Bluefield
BMCI
BMCIP
+BMSAAD
BMSPO
BMSRP
Bokmaal
@@ -349,6 +357,7 @@ clustername
CMAF
Cmdkey
cmdlet
+cmdlets
CMEK
CMMI
CNAME
@@ -399,6 +408,7 @@ costcenter
costinsights
costmanagement
Couchbase
+cpes
cpim
CPIM
Cran
@@ -406,6 +416,7 @@ CRDs
creatable
createbsl
createconsumergroup
+createdtime
createorupdate
createpreview
credativ
@@ -419,6 +430,7 @@ csrs
currentbillingfeatures
currentuser
customerinsights
+customhostnames
customimages
customimagesearch
customizability
@@ -437,6 +449,8 @@ CUTOVER
CVEs
CVSS
Cyrl
+dailyforecast
+dailyhistorical
darkgrey
databox
Databricks
@@ -456,7 +470,10 @@ datalakeanalytics
datalakestore
Datamasking
datamigration
+datamodel
+datapath
datapoint
+datapoints
dataschema
Dataset
datasetid
@@ -471,6 +488,7 @@ datetimeoffset
datetimes
DBFS
DCOS
+ddagpu
Ddos
DDTHH
deadletter
@@ -568,6 +586,8 @@ Dsms
DTDL
Dtus
duration'PT
+dwgzippackage
+dynamicpersongroups
EAPMSCHA
EAPMSCHAP
EAPTLS
@@ -628,6 +648,7 @@ exceptiontype
exfiltrate
Exfiltration
experimentids
+Explainability
explicitlist
exportconfiguration
exportdevices
@@ -646,13 +667,15 @@ failover
failovers
Fairplay
Fanout
+farmBeats
+FarmBeats
fatherable
faultable
fconfig
FDID
-FDID
fearthecowboy
featurecapabilities
+featurestate
Featurization
featurized
Featurizer
@@ -701,6 +724,8 @@ generatevpnprofile
geobias
geocode
geocodes
+geodata
+Geodata
Geofence
geofences
Geofencing
@@ -733,6 +758,7 @@ getvpnclientipsecparameters
getvpnprofilepackageurl
gibibytes
GIFs
+Gilbertese
githubusercontent
gitrepo
globalconfiguration
@@ -741,8 +767,10 @@ gltf
gluster
glusterfs
GOARCH
+GPUMIG
GPUP
GPUs
+Grafana
Grammarly
GRANTACE
granularities
@@ -753,6 +781,7 @@ groupedby
GRPC
GSMT
GTFS
+guage
guestconfiguration
GUID
GUIDs
@@ -763,6 +792,7 @@ Había
hadoop
hana
hanaonazure
+Hani
Hant
Hardenings
hbase
@@ -824,6 +854,7 @@ Imagelist
imagelists
imagesearch
IMDS
+importcollectors
importdevices
Inbuild
incomingrelationships
@@ -874,6 +905,7 @@ Iscsi
iscsiservers
isdir
isdirectory
+isfolder
ishostingenvironmentnameavailable
ishostnameavailable
isnullable
@@ -904,8 +936,12 @@ JSONLD
Jtoken
jumpbox
jwts
+K’iche
+Kabuverdianu
+Kachin
kafkarest
Kaliningrad
+Kashubian
kbId
Kbps
KECA
@@ -941,6 +977,7 @@ Kubelet
kubenet
kubernetes
kusto
+kustooperations
kvset
l'avion
labaccounts
@@ -1017,6 +1054,7 @@ LRO's
Lucene
Lumia
LUNs
+Luxembourgish
machinelearning
machinelearningcompute
machinelearningexperimentation
@@ -1029,6 +1067,7 @@ managecontacts
managedapplications
managedclusters
managedeployments
+managedHSMs
managedserviceidentity
managedservices
managee
@@ -1057,6 +1096,7 @@ MCAS
MDATP
mebibytes
mediaservices
+Merkle
Meru
Mesos
messagingplan
@@ -1072,6 +1112,8 @@ metricnamespace
metricsadvisor
metrictype
mgmt
+MHSM
+MHSMIP
Mibps
microservices
microsofttranslator
@@ -1089,6 +1131,7 @@ ML's
mlapi
mnist
modelmanagement
+modifiedtime
MODIFYACLENTRIES
monitoringconfiguration
monitoringconfigurations
@@ -1160,6 +1203,8 @@ nbformat
Nccl
nchar
ndjson
+ndvi
+NDVI
Neighbourhood
netapp
netdev
@@ -1220,10 +1265,12 @@ nvarchar
Nynorsk
nysiis
OAEP
+Occitan
octokit
Odata
odatatype
ODBC
+oeverify
offboard
offboards
officedocument
@@ -1236,6 +1283,7 @@ ondemandgc
onmachine
onmicrosoft
ONNX
+Onprem
onpremises
oobe
Oozie
@@ -1263,6 +1311,7 @@ osdiskforlinuxsimple
osdiskforwindowssimple
OSMAM
OSNIC
+OSSKU
Otomi
outputdirectoryid
overprovision
@@ -1351,6 +1400,7 @@ preloading
prem
premieraddonoffers
premieraddons
+Preprovisioned
Prerelease
prerestore
pretrained
@@ -1368,6 +1418,8 @@ privatelinkservice
privatepreview
projectable
propogation
+Propagations
+propagations
Protectable
Providerhub
provisioner
@@ -1414,6 +1466,7 @@ RAGRS
RAGZRS
randint
Rankable
+rasterize
ratelimit
ravbhatnagar
rawwebsockets
@@ -1491,6 +1544,8 @@ Reprovision
reprovisioned
Reprovisioning
reprovisions
+reranker
+Reranker
Reregister
Rescan
reservationorders
@@ -1538,6 +1593,7 @@ rolloverdetails
rootfs
rosettanetprocessconfigurations
rotatediskencryptionkey
+rotationpolicy
routable
routingendpointhealth
rpki
@@ -1602,6 +1658,7 @@ securitydomainuploadoperation
securityinsight
seealso
serialconsole
+servercollectors
servererror
serverfarm
serverfarms
@@ -1634,6 +1691,7 @@ setvpnclientipsecparameters
sfhealthid
sfpkg
shamir_share
+shapefile
sharded
sharedkey
sharename
@@ -1817,6 +1875,7 @@ tagname
tagsandregions
tagvalue
TARGETDURATION
+targetv
taskcompletion
taskcounts
taskfailure
@@ -1827,6 +1886,7 @@ templated
templatelink
templeton
temporarydisk
+Tensorboard
tensorflow
TEPCO's
teradata
@@ -1835,10 +1895,12 @@ Termlist
termlists
testall
testallroutes
+testfailover
testnew
testnewroute
testpl
testresultfile
+Tetum
textanalytics
TFIDF
Tful
@@ -1911,6 +1973,7 @@ uniquestring
unitless
unixtime
UNKNOWON
+unleased
unlocalized
unmanaged
unmonitored
@@ -2014,6 +2077,7 @@ VMILR
vmimage
vmname
vmotion
+VMOS
VMQS
VMSS
VMSSVM
@@ -2026,6 +2090,7 @@ vnet
vnetid
Vnets
voip
+Volapük
Vpnclient
vpnconfiguration
vpndeviceconfigurationscript
@@ -2040,6 +2105,7 @@ waagent
WADL
waitforjobcompletion
waitingforstarttask
+Walser
WANAs
WANs
WASB
@@ -2061,6 +2127,8 @@ webhostingplans
webjob
webjobs
webproxy
+webpubsub
+WebPubSub
websearch
webservices
Webspace
@@ -2108,8 +2176,35 @@ Ywhk
YYMMDD
Zabbix
Zerto
+Zhuang
Zilla
+zipdeploy
ziplist
Zoho
zoneinfo
-zset
\ No newline at end of file
+zset
+classificationdef
+entitydef
+termtemplatedef
+enumdef
+relationshipdef
+structdef
+typedefs
+testfailover
+Orignal
+Onprem
+targetv
+Seleted
+classificationrules
+Unparented
+scanrulesets
+Ruleset
+Rulesets
+XLSB
+Miti
+DOCM
+PPSX
+PPTM
+XLSM
+DOCM
+multislot
diff --git a/documentation/FAQ.md b/documentation/FAQ.md
index 82cd2276edec..2e05573323f8 100644
--- a/documentation/FAQ.md
+++ b/documentation/FAQ.md
@@ -6,7 +6,8 @@ This page is intended to answer questions frequently asked during Azure Swagger
2. [How to fix validation failure?](#validation)
3. [How to generate SDK from Swagger?](#SDK)
4. [How to generate document](#doc)
-5. [If need further help, who can we contact?](#contact)
+5. [How to generate swagger examples](#examplegen)
+6. [If need further help, who can we contact?](#contact)
## How to onboard PR review Process?
If you are new to Swagger/OpenAPI, you can refer to this [document](https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/80/Getting-started-with-OpenAPI-specifications)
@@ -37,5 +38,8 @@ If you are working in the private repository, please refer to this [document](ht
## How to generate Document from Swagger?
Refer to [document](https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/79/Generation-of-docs-on-docs.microsoft.com)
+## How to generate examples from Swagger?
+Refer to [Swagger-Example-Generation](https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/393/Swagger-Example-Generation)
+
## If need further help, who can we contact?
If any other help need, Please send a mail to vscswagger@microsoft.com
\ No newline at end of file
diff --git a/documentation/Semantic-and-Model-Violations-Reference.md b/documentation/Semantic-and-Model-Violations-Reference.md
index 5862d443e924..82c945ca8bc5 100644
--- a/documentation/Semantic-and-Model-Violations-Reference.md
+++ b/documentation/Semantic-and-Model-Violations-Reference.md
@@ -93,6 +93,7 @@ This document lists the set of automated rules that can be validated against swa
| [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
@@ -832,16 +833,24 @@ This document lists the set of automated rules that can be validated against swa
### LRO_RESPONSE_CODE
-**Output Message**: Patch/Post long running operation must return 201 or 202, Delete long running operation must return 202 or 204, Put long running operation must return 202 or 201 or 200, but {statusCode} returned.
+**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.
+**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 provided.
+**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/ci-fix.md b/documentation/ci-fix.md
index 32901b31f3e4..5380826c32c4 100644
--- a/documentation/ci-fix.md
+++ b/documentation/ci-fix.md
@@ -34,8 +34,9 @@ npm install -g oav
oav validate-example
```
Please see [readme](https://github.com/Azure/oav/blob/master/README.md) for how to install or run tool in details.
-Or you can run it in [OpenAPI Hub](https://portal.azure-devex-tools.com/tools/static-validation/static/errors/default)
+Or you can run it in [OpenAPI Hub](https://portal.azure-devex-tools.com/tools/static-validation/static/errors/default).
Refer to [Semantic and Model Violations Reference](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/Semantic-and-Model-Violations-Reference.md) for detailed description of validations and how-to-fix guidance.
+Refer to [Swagger-Example-Generation](https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/393/Swagger-Example-Generation) for example automatic generation.
## Semantic Validation
Run Semantic Validation locally:
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 039bfe8cc913..e5732dd5b9e9 100644
--- a/documentation/openapi-authoring-automated-guidelines.md
+++ b/documentation/openapi-authoring-automated-guidelines.md
@@ -46,8 +46,6 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an
| [R3030](#R3030) | [PathResourceProviderMatchNamespace](#R3030) | ARM OpenAPI(swagger) specs |
| [R2016](#r2016) | [PatchBodyParametersSchema](#r2016) | ARM and Data plane OpenAPI(swagger) specs |
| [R2062](#r2062) | [XmsResourceInPutResponse](#r2062) | ARM OpenAPI(swagger) specs |
-| [R3027](#r3027) | [TrackedResourceListByResourceGroup](#r3027) | ARM OpenAPI(swagger) specs |
-| [R3028](#r3028) | [TrackedResourceListBySubscription](#r3028) | ARM OpenAPI(swagger) specs |
| [R3011](#r3011) | [DescriptionMustNotBeNodeName](#r3011) | ARM and Data plane OpenAPI(swagger) specs |
| [R2020](#r2020) | [RequiredPropertiesMissingInResourceModel](#r2020) | ARM OpenAPI(swagger) specs |
| [R3020](#r3020) | [PathResourceProviderNamePascalCase](#r3020) | ARM OpenAPI(swagger) specs |
@@ -71,6 +69,8 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an
| [R3017](#r3017) | [GuidUsage](#r3017) | ARM and Data plane OpenAPI(swagger) specs |
| [R2057](#r2057) | [InvalidSkuModel](#r2057) | ARM OpenAPI(swagger) specs |
| [R3010](#r3010) | [TrackedResourceListByImmediateParent](#r3010) | ARM OpenAPI(swagger) specs |
+| [R3027](#r3027) | [TrackedResourceListByResourceGroup](#r3027) | ARM OpenAPI(swagger) specs |
+| [R3028](#r3028) | [TrackedResourceListBySubscription](#r3028) | ARM OpenAPI(swagger) specs |
| [R2004](#r2004) | [NonApplicationJsonType](#r2004) | ARM OpenAPI(swagger) specs |
| [R4014](#r4014) | [AllResourcesMustHaveGetOperation](#r4014) | ARM OpenAPI(swagger) specs |
### SDK Violations
@@ -116,7 +116,7 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an
| [R4034](#r4034) | [AzureResourceTagsSchemaValidation](#r4034) | ARM OpenAPI(swagger) specs |
| [R4035](#r4035) | [PrivateEndpointResourceSchemaValidation](#r4035) | ARM OpenAPI(swagger) specs |
| [R4036](#r4036) | [ImplementPrivateEndpointAPIs](#r4036) | ARM OpenAPI(swagger) specs |
-
+| [R4037](#r4037) | [MissingTypeObject](#r4037) | ARM and Data plan OpenAPI(swagger) specs |
#### SDK Warnings
| Id | Rule Name | Applies to |
@@ -292,7 +292,7 @@ If the resource pointed by the rule is not a tracked resource, this warning may
Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
### R3027 TrackedResourceListByResourceGroup
-**Category** : ARM Error
+**Category** : ARM Warning
**Applies to** : ARM OpenAPI(swagger) specs
@@ -313,7 +313,7 @@ If the resource pointed by the rule is not a tracked resource or the operation t
Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
### R3028 TrackedResourceListBySubscription
-**Category** : ARM Error
+**Category** : ARM Warning
**Applies to** : ARM OpenAPI(swagger) specs
@@ -1595,7 +1595,8 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
**Output Message**: A '{0}' operation '{1}' with x-ms-long-running-operation extension must have a valid terminal success status code {2}.
-**Description**: The allowed response status codes for a long DELETE operation are "200", "204". The allowed response status codes for a POST operation are "200", "201" ,"202", & "204". The allowed response status codes for a PUT operation are "200" & "201".
+**Description**: For ARM spec, the allowed response status codes for a long DELETE operation are "200" & "204"; the allowed response status codes for a POST operation are "200", "201" ,"202", & "204"; the allowed response status codes for a PUT/PATCH operation are "200" & "201".
+ For Data plane spec, the allowed response status codes for a long DELETE operation are "200","202", & "204"; the allowed response status codes for a POST operation are "200", "201" ,"202", & "204"; the allowed response status codes for a PUT/PATCH operation are "200","201", & "202".
**Why the rule is important**: This will ensure that the DELETE/POST/PUT operations are designed correctly.Please refer [here](./swagger-extensions.md#x-ms-long-running-operation) for further details.
@@ -1907,7 +1908,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
In case of LRO Post operation with return schema, it MAY be ambiguous for the SDK to understand automatically what the return schema is modeling. To avoid any confusion that would lead SDK to incorrectly instantiate the return type, service team needs to explain if the return schema is modeling a result from a "Location" header, or from an "Azure-AsyncOperation" header.
-More details on LRO operation could be found [here](https://github.com/Azure/adx-documentation-pr/blob/master/sdks/LRO/LRO_AzureSDK.md)
+More details on LRO operation could be found [here](https://github.com/Azure/autorest/blob/master/docs/extensions/readme.md#x-ms-long-running-operation)
**How to fix the violation**: For a Post LRO operation, add "x-ms-long-running-operation-options" extension with "final-state-via" property.
``` json
@@ -3459,4 +3460,51 @@ GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{
**How to fix the violation**: Please add the missing private endpoint API path and operation to the swagger.
-Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
\ No newline at end of file
+Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
+
+
+### R4037 MissingTypeObject
+
+**Category** : SDK Error
+
+**Applies to** : ARM and Data plane OpenAPI(swagger) specs
+
+**Output Message** : The schema '{json path}' is considered an object but without a 'type:object', please add the missing 'type:object'.
+
+**Description**: The rule should apply to any schema with "properties" or "additionalProperties". It is to ensure a schema with "properties" or "additionalProperties" must have explicit "type:object" statement, which means a schema is an object.
+
+**CreatedAt**: May 24, 2021
+
+**LastModifiedAt**: May 24, 2021
+
+**Why this rule is important**: The semantics of with and without "type:object" are different. With “type:object” means “it has to be an object”. Without “type: object” means “it could be any type”. Azure SDK Track 2 generator will honor the difference, and generate different SDK codes.
+A free-form object would like:
+
+**How to fix the violation**:
+Just add the missing 'type:object'.
+
+The following would be valid:
+
+```json
+ "foo": {
+ "type":"object",
+ "properties": {
+ "a" : {
+ "type":"string"
+ }
+ ...
+ }
+ }
+```
+The following would be invalid by default (unless you do it on purpose , then a suppression is required):
+
+```json
+ "foo": {
+ "properties": {
+ "a" : {
+ "type":"string"
+ }
+ ...
+ }
+```
+Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
diff --git a/documentation/samplefiles-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.azureresourceschema.md b/documentation/samplefiles/readme.azureresourceschema.md
deleted file mode 100644
index 046d4f19febb..000000000000
--- a/documentation/samplefiles/readme.azureresourceschema.md
+++ /dev/null
@@ -1,23 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-[[ServiceName]]-[[Version]]
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-[[ServiceName]]-[[Version]] and azureresourceschema
-
-``` yaml $(tag) == 'schema-[[ServiceName]]-[[Version]]' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - [[ResourceProviderName]]/[[ReleaseState]]/[[Version]]/[[ServiceName]].json
-```
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/documentation/samplefiles/readme.python.md b/documentation/samplefiles/readme.python.md
index 9dd0b6674244..78ad9e67d936 100644
--- a/documentation/samplefiles/readme.python.md
+++ b/documentation/samplefiles/readme.python.md
@@ -9,6 +9,7 @@ license-header: MICROSOFT_MIT_NO_VERSION
package-name: azure-mgmt-[[ServiceName]]
no-namespace-folders: true
package-version: 1.0.0b1
+clear-output-folder: true
```
``` yaml $(python-mode) == 'update' && $(track2)
diff --git a/documentation/samplefiles/samplereadme.md b/documentation/samplefiles/samplereadme.md
index b26c8ef0b7fb..bce1228cf02e 100644
--- a/documentation/samplefiles/samplereadme.md
+++ b/documentation/samplefiles/samplereadme.md
@@ -54,8 +54,6 @@ swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js [[ServiceName]]/resource-manager
- repo: azure-cli-extensions
```
## Az
@@ -77,7 +75,3 @@ 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/package-lock.json b/package-lock.json
index 4097b8d804f1..c112b7c88c93 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2952,9 +2952,9 @@
"dev": true
},
"handlebars": {
- "version": "4.7.6",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz",
- "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==",
+ "version": "4.7.7",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz",
+ "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==",
"dev": true,
"requires": {
"minimist": "^1.2.5",
@@ -3764,7 +3764,7 @@
"requires": {
"esprima": "1.2.2",
"static-eval": "2.0.2",
- "underscore": "1.7.0"
+ "underscore": "^1.12.1"
},
"dependencies": {
"esprima": {
@@ -3850,9 +3850,9 @@
}
},
"lodash": {
- "version": "4.17.19",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
- "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
"lodash.flattendeep": {
@@ -5957,13 +5957,12 @@
"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
},
"underscore": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz",
- "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=",
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz",
+ "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==",
"dev": true
},
"union-value": {
@@ -6362,9 +6361,9 @@
"dev": true
},
"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==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz",
+ "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==",
"dev": true
},
"yargs": {
@@ -6667,12 +6666,6 @@
"requires": {
"ms": "2.1.2"
}
- },
- "lodash": {
- "version": "4.17.20",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
- "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
- "dev": true
}
}
},
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.azureresourceschema.md b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index b91b439d843d..000000000000
--- a/specification/EnterpriseKnowledgeGraph/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,24 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-enterpriseknowledgegraph-2018-12-03
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-enterpriseknowledgegraph-2018-12-03 and azureresourceschema
-
-``` yaml $(tag) == 'schema-enterpriseknowledgegraph-2018-12-03' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/EnterpriseKnowledgeGraphSwagger.json
-
-```
diff --git a/specification/EnterpriseKnowledgeGraph/resource-manager/readme.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/EnterpriseKnowledgeGraph/resource-manager/readme.md b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md
index f829ac9dfbb7..4f18a8ac325f 100644
--- a/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md
+++ b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md
@@ -76,8 +76,6 @@ swagger-to-sdk:
- repo: azure-sdk-for-python
- repo: azure-sdk-for-go
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js EnterpriseKnowledgeGraph/resource-manager
```
## C#
@@ -94,7 +92,5 @@ csharp:
clear-output-folder: true
```
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/addons/resource-manager/readme.azureresourceschema.md b/specification/addons/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index ae05babd8222..000000000000
--- a/specification/addons/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,36 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-addons-2018-03-01
- - tag: schema-addons-2017-05-15
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-addons-2018-03-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-addons-2018-03-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Addons/preview/2018-03-01/addons-swagger.json
-
-```
-
-### Tag: schema-addons-2017-05-15 and azureresourceschema
-
-``` yaml $(tag) == 'schema-addons-2017-05-15' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Addons/preview/2017-05-15/Addons.json
-
-```
diff --git a/specification/addons/resource-manager/readme.md b/specification/addons/resource-manager/readme.md
index 324507aa8113..2f93f9bd1cdb 100644
--- a/specification/addons/resource-manager/readme.md
+++ b/specification/addons/resource-manager/readme.md
@@ -58,8 +58,6 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js addons/resource-manager
```
---
@@ -193,7 +191,5 @@ generate-interface: true
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/adhybridhealthservice/resource-manager/readme.azureresourceschema.md b/specification/adhybridhealthservice/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index 7e60bb0023bb..000000000000
--- a/specification/adhybridhealthservice/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,24 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-adhybridhealthservice-2014-01-01
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-adhybridhealthservice-2014-01-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-adhybridhealthservice-2014-01-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ADHybridHealthService/stable/2014-01-01/ADHybridHealthService.json
-
-```
diff --git a/specification/adhybridhealthservice/resource-manager/readme.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/adhybridhealthservice/resource-manager/readme.md b/specification/adhybridhealthservice/resource-manager/readme.md
index 3fc780ac369b..99e1d0073cb3 100644
--- a/specification/adhybridhealthservice/resource-manager/readme.md
+++ b/specification/adhybridhealthservice/resource-manager/readme.md
@@ -55,8 +55,6 @@ swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-node
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js adhybridhealthservice/resource-manager
```
@@ -97,7 +95,5 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/adp/resource-manager/readme.azureresourceschema.md b/specification/adp/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index 870c1a9ea328..000000000000
--- a/specification/adp/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,18 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: package-2020-07-01-preview
- - tag: package-2021-02-01-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-``` yaml $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-```
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..533f76323c23 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
@@ -65,8 +69,6 @@ swagger-to-sdk:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_adp']
- repo: azure-cli-extensions
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js adp/resource-manager
```
## Go
@@ -89,6 +91,4 @@ See configuration in [readme.typescript.md](./readme.typescript.md)
See configuration in [readme.csharp.md](./readme.csharp.md)
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
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/Microsoft.Advisor/stable/2020-01-01/advisor.json b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/advisor.json
index 79c4e4c96d42..789f65d262af 100644
--- a/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/advisor.json
+++ b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/advisor.json
@@ -46,7 +46,8 @@
"description": "Client sent unknown metadata name",
"schema": {
"$ref": "#/definitions/ARMErrorResponseBody"
- }
+ },
+ "x-ms-error-response": true
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -589,7 +590,8 @@
"description": "Suppression name is not specified or Suppression Id not found.",
"schema": {
"$ref": "#/definitions/ArmErrorResponse"
- }
+ },
+ "x-ms-error-response": true
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -657,7 +659,8 @@
"description": "Recommendation to be suppressed is not found.",
"schema": {
"$ref": "#/definitions/ArmErrorResponse"
- }
+ },
+ "x-ms-error-response": true
},
"default": {
"description": "Error response describing why the operation failed.",
diff --git a/specification/advisor/resource-manager/readme.azureresourceschema.md b/specification/advisor/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index 8419f1c1778c..000000000000
--- a/specification/advisor/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,72 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-advisor-2020-07-01-preview
- - tag: schema-advisor-2020-01-01
- - tag: schema-advisor-2017-04-19
- - tag: schema-advisor-2017-03-31
- - tag: schema-advisor-2016-07-12-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-advisor-2020-07-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-advisor-2020-07-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Advisor/preview/2020-07-01-preview/advisor.json
-
-```
-
-### Tag: schema-advisor-2020-01-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-advisor-2020-01-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Advisor/stable/2020-01-01/advisor.json
-
-```
-
-### Tag: schema-advisor-2017-04-19 and azureresourceschema
-
-``` yaml $(tag) == 'schema-advisor-2017-04-19' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Advisor/stable/2017-04-19/advisor.json
-
-```
-
-### Tag: schema-advisor-2017-03-31 and azureresourceschema
-
-``` yaml $(tag) == 'schema-advisor-2017-03-31' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Advisor/stable/2017-03-31/advisor.json
-
-```
-
-### Tag: schema-advisor-2016-07-12-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-advisor-2016-07-12-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Advisor/preview/2016-07-12-preview/advisor.json
-
-```
diff --git a/specification/advisor/resource-manager/readme.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/advisor/resource-manager/readme.md b/specification/advisor/resource-manager/readme.md
index 6f49edb7e77f..d631a4e49820 100644
--- a/specification/advisor/resource-manager/readme.md
+++ b/specification/advisor/resource-manager/readme.md
@@ -91,8 +91,6 @@ swagger-to-sdk:
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js advisor/resource-manager
```
## Python
@@ -162,7 +160,5 @@ csharp:
See configuration in [readme.java.md](./readme.java.md)
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/agfood.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/agfood.json
new file mode 100644
index 000000000000..945954613e93
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/agfood.json
@@ -0,0 +1,11826 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure AgFoodPlatform Data Plane Service",
+ "description": "APIs documentation for Azure AgPlatform DataPlane Service.",
+ "version": "2021-03-31-preview"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ },
+ "paths": {
+ "/farmers/{farmerId}/application-data": {
+ "get": {
+ "tags": [
+ "ApplicationData"
+ ],
+ "description": "Returns a paginated list of application data resources under a particular farm.",
+ "operationId": "ApplicationData_ListByFarmerId",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "minAvgMaterial",
+ "description": "Minimum average amount of material applied during the application (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgMaterial",
+ "description": "Maximum average amount of material applied during the application (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minTotalMaterial",
+ "description": "Minimum total amount of material applied during the application (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxTotalMaterial",
+ "description": "Maximum total amount of material applied during the application (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "sources",
+ "description": "Sources of the operation data.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "associatedBoundaryIds",
+ "description": "Boundary IDs associated with operation data.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "operationBoundaryIds",
+ "description": "Operation boundary IDs associated with operation data.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minOperationStartDateTime",
+ "description": "Minimum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationStartDateTime",
+ "description": "Maximum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationEndDateTime",
+ "description": "Minimum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationEndDateTime",
+ "description": "Maximum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationModifiedDateTime",
+ "description": "Minimum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationModifiedDateTime",
+ "description": "Maximum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minArea",
+ "description": "Minimum area for which operation was applied (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxArea",
+ "description": "Maximum area for which operation was applied (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "Names of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Minimum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Maximum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Minimum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Maximum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ApplicationDataListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ApplicationData_ListByFarmerId": {
+ "$ref": "./examples/ApplicationData_ListByFarmerId.json"
+ }
+ }
+ }
+ },
+ "/application-data": {
+ "get": {
+ "tags": [
+ "ApplicationData"
+ ],
+ "description": "Returns a paginated list of application data resources across all farmers.",
+ "operationId": "ApplicationData_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "minAvgMaterial",
+ "description": "Minimum average amount of material applied during the application (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgMaterial",
+ "description": "Maximum average amount of material applied during the application (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minTotalMaterial",
+ "description": "Minimum total amount of material applied during the application (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxTotalMaterial",
+ "description": "Maximum total amount of material applied during the application (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "sources",
+ "description": "Sources of the operation data.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "associatedBoundaryIds",
+ "description": "Boundary IDs associated with operation data.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "operationBoundaryIds",
+ "description": "Operation boundary IDs associated with operation data.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minOperationStartDateTime",
+ "description": "Minimum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationStartDateTime",
+ "description": "Maximum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationEndDateTime",
+ "description": "Minimum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationEndDateTime",
+ "description": "Maximum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationModifiedDateTime",
+ "description": "Minimum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationModifiedDateTime",
+ "description": "Maximum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minArea",
+ "description": "Minimum area for which operation was applied (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxArea",
+ "description": "Maximum area for which operation was applied (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "Names of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Minimum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Maximum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Minimum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Maximum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ApplicationDataListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ApplicationData_List": {
+ "$ref": "./examples/ApplicationData_List.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/application-data/{applicationDataId}": {
+ "get": {
+ "tags": [
+ "ApplicationData"
+ ],
+ "description": "Get a specified application data resource under a particular farmer.",
+ "operationId": "ApplicationData_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "applicationDataId",
+ "description": "ID of the application data resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ApplicationData"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ApplicationData_Get": {
+ "$ref": "./examples/ApplicationData_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ApplicationData"
+ ],
+ "description": "Creates or updates an application data resource under a particular farmer.",
+ "operationId": "ApplicationData_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "applicationDataId",
+ "description": "ID of the application data resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "applicationData",
+ "description": "Application data resource payload to create or update.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationData"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ApplicationData"
+ }
+ },
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ApplicationData"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ApplicationData_CreateOrUpdate": {
+ "$ref": "./examples/ApplicationData_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApplicationData"
+ ],
+ "description": "Deletes a specified application data resource under a particular farmer.",
+ "operationId": "ApplicationData_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "applicationDataId",
+ "description": "ID of the application data.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ApplicationData_Delete": {
+ "$ref": "./examples/ApplicationData_Delete.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/attachments": {
+ "get": {
+ "tags": [
+ "Attachments"
+ ],
+ "description": "Returns a paginated list of attachment resources under a particular farmer.",
+ "operationId": "Attachments_ListByFarmerId",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "resourceIds",
+ "description": "Resource Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "resourceTypes",
+ "description": "Resource Types of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "Names of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Minimum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Maximum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Minimum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Maximum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AttachmentListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Attachments_ListByFarmerId": {
+ "$ref": "./examples/Attachments_ListByFarmerId.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/attachments/{attachmentId}": {
+ "get": {
+ "tags": [
+ "Attachments"
+ ],
+ "description": "Gets a specified attachment resource under a particular farmer.",
+ "operationId": "Attachments_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "attachmentId",
+ "description": "ID of the attachment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Attachment"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Attachments_Get": {
+ "$ref": "./examples/Attachments_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Attachments"
+ ],
+ "description": "Creates or updates an attachment resource under a particular farmer.",
+ "operationId": "Attachments_CreateOrUpdate",
+ "consumes": [
+ "multipart/form-data"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "attachmentId",
+ "description": "ID of the attachment resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "formData",
+ "name": "file",
+ "description": "File to be uploaded.",
+ "type": "file",
+ "format": "binary"
+ },
+ {
+ "in": "formData",
+ "name": "FarmerId",
+ "description": "Farmer id for this attachment.",
+ "type": "string"
+ },
+ {
+ "in": "formData",
+ "name": "ResourceId",
+ "description": "Associated Resource id for this attachment.",
+ "type": "string"
+ },
+ {
+ "in": "formData",
+ "name": "ResourceType",
+ "description": "Associated Resource type for this attachment\r\ni.e. Farmer, Farm, Field, SeasonalField, Boundary, FarmOperationApplicationData, HarvestData, TillageData, PlantingData.",
+ "type": "string"
+ },
+ {
+ "in": "formData",
+ "name": "OriginalFileName",
+ "description": "Original File Name for this attachment.",
+ "type": "string"
+ },
+ {
+ "in": "formData",
+ "name": "Id",
+ "description": "Unique id.",
+ "type": "string"
+ },
+ {
+ "in": "formData",
+ "name": "Status",
+ "description": "Status of the resource.",
+ "type": "string",
+ "maxLength": 100,
+ "minLength": 0
+ },
+ {
+ "in": "formData",
+ "name": "CreatedDateTime",
+ "description": "Date when resource was created.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "formData",
+ "name": "ModifiedDateTime",
+ "description": "Date when resource was last modified.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "formData",
+ "name": "Name",
+ "description": "Name to identify resource.",
+ "type": "string",
+ "maxLength": 100,
+ "minLength": 0
+ },
+ {
+ "in": "formData",
+ "name": "Description",
+ "description": "Textual description of resource.",
+ "type": "string",
+ "maxLength": 500,
+ "minLength": 0
+ },
+ {
+ "in": "formData",
+ "name": "ETag",
+ "description": "The ETag value to implement optimistic concurrency.",
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Attachment"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Attachment"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Attachments_CreateOrUpdate": {
+ "$ref": "./examples/Attachments_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Attachments"
+ ],
+ "description": "Deletes a specified attachment resource under a particular farmer.",
+ "operationId": "Attachments_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "attachmentId",
+ "description": "ID of the attachment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Attachments_Delete": {
+ "$ref": "./examples/Attachments_Delete.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/attachments/{attachmentId}/file": {
+ "get": {
+ "tags": [
+ "Attachments"
+ ],
+ "description": "Downloads and returns attachment as response for the given input filePath.",
+ "operationId": "Attachments_Download",
+ "produces": [
+ "application/octet-stream",
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "attachmentId",
+ "description": "ID of attachment to be downloaded.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "format": "binary",
+ "type": "file"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Attachments_Download": {
+ "$ref": "./examples/Attachments_Download.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/boundaries": {
+ "get": {
+ "tags": [
+ "Boundaries"
+ ],
+ "description": "Returns a paginated list of boundary resources under a particular farmer.",
+ "operationId": "Boundaries_ListByFarmerId",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "isPrimary",
+ "description": "Is the boundary primary.",
+ "type": "boolean"
+ },
+ {
+ "in": "query",
+ "name": "parentType",
+ "description": "Type of the parent it belongs to.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "parentIds",
+ "description": "Parent Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minAcreage",
+ "description": "Minimum acreage of the boundary (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAcreage",
+ "description": "Maximum acreage of the boundary (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "Names of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Minimum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Maximum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Minimum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Maximum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/BoundaryListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Boundaries_ListByFarmerId": {
+ "$ref": "./examples/Boundaries_ListByFarmerId.json"
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Boundaries"
+ ],
+ "description": "Search for boundaries by fields and intersecting geometry.",
+ "operationId": "Boundaries_SearchByFarmerId",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "query",
+ "description": "Query filters.",
+ "schema": {
+ "$ref": "#/definitions/SearchBoundaryQuery"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/BoundaryListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Boundaries_SearchByFarmerId": {
+ "$ref": "./examples/Boundaries_SearchByFarmerId.json"
+ }
+ }
+ }
+ },
+ "/boundaries": {
+ "get": {
+ "tags": [
+ "Boundaries"
+ ],
+ "description": "Returns a paginated list of boundary resources across all farmers.",
+ "operationId": "Boundaries_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "isPrimary",
+ "description": "Is the boundary primary.",
+ "type": "boolean"
+ },
+ {
+ "in": "query",
+ "name": "parentType",
+ "description": "Type of the parent it belongs to.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "parentIds",
+ "description": "Parent Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minAcreage",
+ "description": "Minimum acreage of the boundary (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAcreage",
+ "description": "Maximum acreage of the boundary (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "Names of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Minimum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Maximum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Minimum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Maximum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/BoundaryListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Boundaries_List": {
+ "$ref": "./examples/Boundaries_List.json"
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Boundaries"
+ ],
+ "description": "Search for boundaries across all farmers by fields and intersecting geometry.",
+ "operationId": "Boundaries_Search",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "query",
+ "description": "Query filters.",
+ "schema": {
+ "$ref": "#/definitions/SearchBoundaryQuery"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/BoundaryListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Boundaries_Search": {
+ "$ref": "./examples/Boundaries_Search.json"
+ }
+ }
+ }
+ },
+ "/boundaries/cascade-delete/{jobId}": {
+ "get": {
+ "tags": [
+ "Boundaries"
+ ],
+ "description": "Get cascade delete job for specified boundary.",
+ "operationId": "Boundaries_GetCascadeDeleteJobDetails",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "ID of the job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Boundaries_GetCascadeDeleteJobDetails": {
+ "$ref": "./examples/Boundaries_GetCascadeDeleteJobDetails.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Boundaries"
+ ],
+ "description": "Create a cascade delete job for specified boundary.",
+ "operationId": "Boundaries_CreateCascadeDeleteJob",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Job ID supplied by end user.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "farmerId",
+ "description": "ID of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "boundaryId",
+ "description": "ID of the boundary to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Boundaries_CreateCascadeDeleteJob": {
+ "$ref": "./examples/Boundaries_CreateCascadeDeleteJob.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/boundaries/{boundaryId}": {
+ "get": {
+ "tags": [
+ "Boundaries"
+ ],
+ "description": "Gets a specified boundary resource under a particular farmer.",
+ "operationId": "Boundaries_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "boundaryId",
+ "description": "ID of the boundary.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Boundary"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Boundaries_Get": {
+ "$ref": "./examples/Boundaries_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Boundaries"
+ ],
+ "description": "Creates or updates a boundary resource.",
+ "operationId": "Boundaries_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the farmer resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "boundaryId",
+ "description": "ID of the boundary resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "boundary",
+ "description": "Boundary resource payload to create or update.",
+ "schema": {
+ "$ref": "#/definitions/Boundary"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Boundary"
+ }
+ },
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Boundary"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Boundaries_CreateOrUpdate": {
+ "$ref": "./examples/Boundaries_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Boundaries"
+ ],
+ "description": "Deletes a specified boundary resource under a particular farmer.",
+ "operationId": "Boundaries_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "boundaryId",
+ "description": "ID of the boundary.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Boundaries_Delete": {
+ "$ref": "./examples/Boundaries_Delete.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/boundaries/{boundaryId}/overlap": {
+ "get": {
+ "tags": [
+ "Boundaries"
+ ],
+ "description": "Returns overlapping acreage between two boundary Ids.",
+ "operationId": "Boundaries_GetOverlap",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "boundaryId",
+ "description": "ID of the boundary.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "otherFarmerId",
+ "description": "FarmerId of the other field.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "otherBoundaryId",
+ "description": "ID of the other boundary.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/BoundaryOverlapResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Boundaries_GetOverlap": {
+ "$ref": "./examples/Boundaries_GetOverlap.json"
+ }
+ }
+ }
+ },
+ "/crops": {
+ "get": {
+ "tags": [
+ "Crops"
+ ],
+ "description": "Returns a paginated list of crop resources.",
+ "operationId": "Crops_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "phenotypes",
+ "description": "Crop phenotypes of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "Names of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Minimum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Maximum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Minimum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Maximum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CropListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Crops_List": {
+ "$ref": "./examples/Crops_List.json"
+ }
+ }
+ }
+ },
+ "/crops/{cropId}": {
+ "get": {
+ "tags": [
+ "Crops"
+ ],
+ "description": "Gets a specified crop resource.",
+ "operationId": "Crops_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "cropId",
+ "description": "ID of the crop.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Crop"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Crops_Get": {
+ "$ref": "./examples/Crops_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Crops"
+ ],
+ "description": "Creates or updates a crop resource.",
+ "operationId": "Crops_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "cropId",
+ "description": "ID of the crop resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "crop",
+ "description": "Crop resource payload to create or update.",
+ "schema": {
+ "$ref": "#/definitions/Crop"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Crop"
+ }
+ },
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Crop"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Crops_CreateOrUpdate": {
+ "$ref": "./examples/Crops_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Crops"
+ ],
+ "description": "Deletes Crop for given crop id.",
+ "operationId": "Crops_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "cropId",
+ "description": "ID of crop to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Crops_Delete": {
+ "$ref": "./examples/Crops_Delete.json"
+ }
+ }
+ }
+ },
+ "/crops/{cropId}/crop-varieties": {
+ "get": {
+ "tags": [
+ "CropVarieties"
+ ],
+ "description": "Returns a paginated list of crop variety resources under a particular crop.",
+ "operationId": "CropVarieties_ListByCropId",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "cropId",
+ "description": "ID of the associated crop.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "cropIds",
+ "description": "CropIds of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "brands",
+ "description": "Brands of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "products",
+ "description": "Products of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "Names of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Minimum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Maximum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Minimum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Maximum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CropVarietyListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "CropVarieties_ListByCropId": {
+ "$ref": "./examples/CropVarieties_ListByCropId.json"
+ }
+ }
+ }
+ },
+ "/crop-varieties": {
+ "get": {
+ "tags": [
+ "CropVarieties"
+ ],
+ "description": "Returns a paginated list of crop variety resources across all crops.",
+ "operationId": "CropVarieties_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "cropIds",
+ "description": "CropIds of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "brands",
+ "description": "Brands of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "products",
+ "description": "Products of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "Names of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Minimum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Maximum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Minimum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Maximum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CropVarietyListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "CropVarieties_List": {
+ "$ref": "./examples/CropVarieties_List.json"
+ }
+ }
+ }
+ },
+ "/crops/{cropId}/crop-varieties/{cropVarietyId}": {
+ "get": {
+ "tags": [
+ "CropVarieties"
+ ],
+ "description": "Gets a specified crop variety resource under a particular crop.",
+ "operationId": "CropVarieties_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "cropId",
+ "description": "ID of the associated crop.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "cropVarietyId",
+ "description": "ID of the crop variety.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CropVariety"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CropVarieties_Get": {
+ "$ref": "./examples/CropVarieties_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "CropVarieties"
+ ],
+ "description": "Creates or updates a crop variety resource.",
+ "operationId": "CropVarieties_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "cropId",
+ "description": "ID of the crop resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "cropVarietyId",
+ "description": "ID of the crop variety resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "cropVariety",
+ "description": "Crop variety resource payload to create or update.",
+ "schema": {
+ "$ref": "#/definitions/CropVariety"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CropVariety"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CropVariety"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CropVarieties_CreateOrUpdate": {
+ "$ref": "./examples/CropVarieties_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "CropVarieties"
+ ],
+ "description": "Deletes a specified crop variety resource under a particular crop.",
+ "operationId": "CropVarieties_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "cropId",
+ "description": "ID of the crop.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "cropVarietyId",
+ "description": "ID of the crop variety.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CropVarieties_Delete": {
+ "$ref": "./examples/CropVarieties_Delete.json"
+ }
+ }
+ }
+ },
+ "/farmers": {
+ "get": {
+ "tags": [
+ "Farmers"
+ ],
+ "description": "Returns a paginated list of farmer resources.",
+ "operationId": "Farmers_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "Names of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Minimum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Maximum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Minimum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Maximum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmerListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Farmers_List": {
+ "$ref": "./examples/Farmers_List.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}": {
+ "get": {
+ "tags": [
+ "Farmers"
+ ],
+ "description": "Gets a specified farmer resource.",
+ "operationId": "Farmers_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Farmer"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Farmers_Get": {
+ "$ref": "./examples/Farmers_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Farmers"
+ ],
+ "description": "Creates or updates a farmer resource.",
+ "operationId": "Farmers_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the farmer resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "farmer",
+ "description": "Farmer resource payload to create or update.",
+ "schema": {
+ "$ref": "#/definitions/Farmer"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Farmer"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Farmer"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Farmers_CreateOrUpdate": {
+ "$ref": "./examples/Farmers_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Farmers"
+ ],
+ "description": "Deletes a specified farmer resource.",
+ "operationId": "Farmers_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of farmer to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Farmers_Delete": {
+ "$ref": "./examples/Farmers_Delete.json"
+ }
+ }
+ }
+ },
+ "/farmers/cascade-delete/{jobId}": {
+ "get": {
+ "tags": [
+ "Farmers"
+ ],
+ "description": "Get a cascade delete job for specified farmer.",
+ "operationId": "Farmers_GetCascadeDeleteJobDetails",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "ID of the job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Farmers_GetCascadeDeleteJobDetails": {
+ "$ref": "./examples/Farmers_GetCascadeDeleteJobDetails.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Farmers"
+ ],
+ "description": "Create a cascade delete job for specified farmer.",
+ "operationId": "Farmers_CreateCascadeDeleteJob",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Job ID supplied by end user.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "farmerId",
+ "description": "ID of the farmer to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Farmers_CreateCascadeDeleteJob": {
+ "$ref": "./examples/Farmers_CreateCascadeDeleteJob.json"
+ }
+ }
+ }
+ },
+ "/farm-operations/ingest-data/{jobId}": {
+ "put": {
+ "tags": [
+ "FarmOperations"
+ ],
+ "description": "Create a farm operation data ingestion job.",
+ "operationId": "FarmOperations_CreateDataIngestionJob",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Job ID supplied by user.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "job",
+ "description": "Job parameters supplied by user.",
+ "schema": {
+ "$ref": "#/definitions/FarmOperationDataIngestionJob"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmOperationDataIngestionJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "FarmOperations_CreateDataIngestionJob": {
+ "$ref": "./examples/FarmOperations_CreateDataIngestionJob.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "FarmOperations"
+ ],
+ "description": "Get a farm operation data ingestion job.",
+ "operationId": "FarmOperations_GetDataIngestionJobDetails",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "ID of the job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmOperationDataIngestionJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "FarmOperations_GetDataIngestionJobDetails": {
+ "$ref": "./examples/FarmOperations_GetDataIngestionJobDetails.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/farms": {
+ "get": {
+ "tags": [
+ "Farms"
+ ],
+ "description": "Returns a paginated list of farm resources under a particular farmer.",
+ "operationId": "Farms_ListByFarmerId",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "Names of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Minimum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Maximum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Minimum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Maximum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Farms_ListByFarmerId": {
+ "$ref": "./examples/Farms_ListByFarmerId.json"
+ }
+ }
+ }
+ },
+ "/farms": {
+ "get": {
+ "tags": [
+ "Farms"
+ ],
+ "description": "Returns a paginated list of farm resources across all farmers.",
+ "operationId": "Farms_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "Names of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Minimum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Maximum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Minimum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Maximum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Farms_List": {
+ "$ref": "./examples/Farms_List.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/farms/{farmId}": {
+ "get": {
+ "tags": [
+ "Farms"
+ ],
+ "description": "Gets a specified farm resource under a particular farmer.",
+ "operationId": "Farms_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "farmId",
+ "description": "ID of the farm resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Farm"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Farms_Get": {
+ "$ref": "./examples/Farms_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Farms"
+ ],
+ "description": "Creates or updates a farm resource under a particular farmer.",
+ "operationId": "Farms_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "farmId",
+ "description": "ID of the farm resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "farm",
+ "description": "Farm resource payload to create or update.",
+ "schema": {
+ "$ref": "#/definitions/Farm"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Farm"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Farm"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Farms_CreateOrUpdate": {
+ "$ref": "./examples/Farms_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Farms"
+ ],
+ "description": "Deletes a specified farm resource under a particular farmer.",
+ "operationId": "Farms_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "farmId",
+ "description": "ID of the farm.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Farms_Delete": {
+ "$ref": "./examples/Farms_Delete.json"
+ }
+ }
+ }
+ },
+ "/farms/cascade-delete/{jobId}": {
+ "get": {
+ "tags": [
+ "Farms"
+ ],
+ "description": "Get a cascade delete job for specified farm.",
+ "operationId": "Farms_GetCascadeDeleteJobDetails",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "ID of the job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Farms_GetCascadeDeleteJobDetails": {
+ "$ref": "./examples/Farms_GetCascadeDeleteJobDetails.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Farms"
+ ],
+ "description": "Create a cascade delete job for specified farm.",
+ "operationId": "Farms_CreateCascadeDeleteJob",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Job ID supplied by end user.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "farmerId",
+ "description": "ID of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "farmId",
+ "description": "ID of the farm to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Farms_CreateCascadeDeleteJob": {
+ "$ref": "./examples/Farms_CreateCascadeDeleteJob.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/fields": {
+ "get": {
+ "tags": [
+ "Fields"
+ ],
+ "description": "Returns a paginated list of field resources under a particular farmer.",
+ "operationId": "Fields_ListByFarmerId",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "farmIds",
+ "description": "Farm Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "Names of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Minimum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Maximum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Minimum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Maximum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FieldListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Fields_ListByFarmerId": {
+ "$ref": "./examples/Fields_ListByFarmerId.json"
+ }
+ }
+ }
+ },
+ "/fields": {
+ "get": {
+ "tags": [
+ "Fields"
+ ],
+ "description": "Returns a paginated list of field resources across all farmers.",
+ "operationId": "Fields_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "farmIds",
+ "description": "Farm Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "Names of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Minimum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Maximum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Minimum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Maximum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FieldListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Fields_List": {
+ "$ref": "./examples/Fields_List.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/fields/{fieldId}": {
+ "get": {
+ "tags": [
+ "Fields"
+ ],
+ "description": "Gets a specified field resource under a particular farmer.",
+ "operationId": "Fields_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "fieldId",
+ "description": "ID of the field.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Field"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Fields_Get": {
+ "$ref": "./examples/Fields_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Fields"
+ ],
+ "description": "Creates or Updates a field resource under a particular farmer.",
+ "operationId": "Fields_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "fieldId",
+ "description": "ID of the field resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "field",
+ "description": "Field resource payload to create or update.",
+ "schema": {
+ "$ref": "#/definitions/Field"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Field"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Field"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Fields_CreateOrUpdate": {
+ "$ref": "./examples/Fields_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Fields"
+ ],
+ "description": "Deletes a specified field resource under a particular farmer.",
+ "operationId": "Fields_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "fieldId",
+ "description": "ID of the field.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Fields_Delete": {
+ "$ref": "./examples/Fields_Delete.json"
+ }
+ }
+ }
+ },
+ "/fields/cascade-delete/{jobId}": {
+ "get": {
+ "tags": [
+ "Fields"
+ ],
+ "description": "Get a cascade delete job for specified field.",
+ "operationId": "Fields_GetCascadeDeleteJobDetails",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "ID of the job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Fields_GetCascadeDeleteJobDetails": {
+ "$ref": "./examples/Fields_GetCascadeDeleteJobDetails.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Fields"
+ ],
+ "description": "Create a cascade delete job for specified field.",
+ "operationId": "Fields_CreateCascadeDeleteJob",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Job ID supplied by end user.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "farmerId",
+ "description": "ID of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "fieldId",
+ "description": "ID of the field to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Fields_CreateCascadeDeleteJob": {
+ "$ref": "./examples/Fields_CreateCascadeDeleteJob.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/harvest-data": {
+ "get": {
+ "tags": [
+ "HarvestData"
+ ],
+ "description": "Returns a paginated list of harvest data resources under a particular farm.",
+ "operationId": "HarvestData_ListByFarmerId",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "minTotalYield",
+ "description": "Minimum Yield value(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxTotalYield",
+ "description": "Maximum Yield value (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minAvgYield",
+ "description": "Minimum AvgYield value(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgYield",
+ "description": "Maximum AvgYield value (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minTotalWetMass",
+ "description": "Minimum Total WetMass value(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxTotalWetMass",
+ "description": "Maximum Total WetMass value (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minAvgWetMass",
+ "description": "Minimum AvgWetMass value(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgWetMass",
+ "description": "Maximum AvgWetMass value (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minAvgMoisture",
+ "description": "Minimum AvgMoisture value(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgMoisture",
+ "description": "Maximum AvgMoisture value (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minAvgSpeed",
+ "description": "Minimum AvgSpeed value(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgSpeed",
+ "description": "Maximum AvgSpeed value (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "sources",
+ "description": "Sources of the operation data.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "associatedBoundaryIds",
+ "description": "Boundary IDs associated with operation data.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "operationBoundaryIds",
+ "description": "Operation boundary IDs associated with operation data.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minOperationStartDateTime",
+ "description": "Minimum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationStartDateTime",
+ "description": "Maximum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationEndDateTime",
+ "description": "Minimum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationEndDateTime",
+ "description": "Maximum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationModifiedDateTime",
+ "description": "Minimum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationModifiedDateTime",
+ "description": "Maximum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minArea",
+ "description": "Minimum area for which operation was applied (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxArea",
+ "description": "Maximum area for which operation was applied (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "Names of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Minimum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Maximum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Minimum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Maximum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/HarvestDataListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "HarvestData_ListByFarmerId": {
+ "$ref": "./examples/HarvestData_ListByFarmerId.json"
+ }
+ }
+ }
+ },
+ "/harvest-data": {
+ "get": {
+ "tags": [
+ "HarvestData"
+ ],
+ "description": "Returns a paginated list of harvest data resources across all farmers.",
+ "operationId": "HarvestData_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "minTotalYield",
+ "description": "Minimum Yield value(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxTotalYield",
+ "description": "Maximum Yield value (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minAvgYield",
+ "description": "Minimum AvgYield value(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgYield",
+ "description": "Maximum AvgYield value (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minTotalWetMass",
+ "description": "Minimum Total WetMass value(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxTotalWetMass",
+ "description": "Maximum Total WetMass value (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minAvgWetMass",
+ "description": "Minimum AvgWetMass value(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgWetMass",
+ "description": "Maximum AvgWetMass value (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minAvgMoisture",
+ "description": "Minimum AvgMoisture value(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgMoisture",
+ "description": "Maximum AvgMoisture value (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minAvgSpeed",
+ "description": "Minimum AvgSpeed value(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgSpeed",
+ "description": "Maximum AvgSpeed value (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "sources",
+ "description": "Sources of the operation data.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "associatedBoundaryIds",
+ "description": "Boundary IDs associated with operation data.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "operationBoundaryIds",
+ "description": "Operation boundary IDs associated with operation data.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minOperationStartDateTime",
+ "description": "Minimum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationStartDateTime",
+ "description": "Maximum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationEndDateTime",
+ "description": "Minimum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationEndDateTime",
+ "description": "Maximum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationModifiedDateTime",
+ "description": "Minimum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationModifiedDateTime",
+ "description": "Maximum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minArea",
+ "description": "Minimum area for which operation was applied (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxArea",
+ "description": "Maximum area for which operation was applied (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "Names of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Minimum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Maximum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Minimum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Maximum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/HarvestDataListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "HarvestData_List": {
+ "$ref": "./examples/HarvestData_List.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/harvest-data/{harvestDataId}": {
+ "get": {
+ "tags": [
+ "HarvestData"
+ ],
+ "description": "Get a specified harvest data resource under a particular farmer.",
+ "operationId": "HarvestData_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "harvestDataId",
+ "description": "ID of the harvest data resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/HarvestData"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "HarvestData_Get": {
+ "$ref": "./examples/HarvestData_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "HarvestData"
+ ],
+ "description": "Creates or updates harvest data resource under a particular farmer.",
+ "operationId": "HarvestData_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "harvestDataId",
+ "description": "ID of the harvest data resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "harvestData",
+ "description": "Harvest data resource payload to create or update.",
+ "schema": {
+ "$ref": "#/definitions/HarvestData"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/HarvestData"
+ }
+ },
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/HarvestData"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "HarvestData_CreateOrUpdate": {
+ "$ref": "./examples/HarvestData_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "HarvestData"
+ ],
+ "description": "Deletes a specified harvest data resource under a particular farmer.",
+ "operationId": "HarvestData_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "harvestDataId",
+ "description": "ID of the harvest data.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "HarvestData_Delete": {
+ "$ref": "./examples/HarvestData_Delete.json"
+ }
+ }
+ }
+ },
+ "/image-processing/rasterize/{jobId}": {
+ "put": {
+ "tags": [
+ "ImageProcessing"
+ ],
+ "description": "Create a ImageProcessing Rasterize job.",
+ "operationId": "ImageProcessing_CreateRasterizeJob",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "JobId provided by user.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "job",
+ "description": "Job parameters supplied by user.",
+ "schema": {
+ "$ref": "#/definitions/ImageProcessingRasterizeJob"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ImageProcessingRasterizeJob"
+ }
+ },
+ "default": {
+ "description": "Error"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "ImageProcessing_CreateRasterizeJob": {
+ "$ref": "./examples/ImageProcessing_CreateRasterizeJob.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ImageProcessing"
+ ],
+ "description": "Get ImageProcessing Rasterize job's details.",
+ "operationId": "ImageProcessing_GetRasterizeJob",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "ID of the job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ImageProcessingRasterizeJob"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ImageProcessing_GetRasterizeJob": {
+ "$ref": "./examples/ImageProcessing_GetRasterizeJob.json"
+ }
+ }
+ }
+ },
+ "/oauth/providers": {
+ "get": {
+ "tags": [
+ "OAuthProviders"
+ ],
+ "description": "Returns a paginated list of oauthProvider resources.",
+ "operationId": "OAuthProviders_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "Names of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Minimum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Maximum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Minimum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Maximum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OAuthProviderListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "OAuthProviders_List": {
+ "$ref": "./examples/OAuthProviders_List.json"
+ }
+ }
+ }
+ },
+ "/oauth/providers/{oauthProviderId}": {
+ "get": {
+ "tags": [
+ "OAuthProviders"
+ ],
+ "description": "Get a specified oauthProvider resource.",
+ "operationId": "OAuthProviders_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "oauthProviderId",
+ "description": "ID of the oauthProvider resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OAuthProvider"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "OAuthProviders_Get": {
+ "$ref": "./examples/OAuthProviders_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "OAuthProviders"
+ ],
+ "description": "Creates or updates an oauthProvider resource.",
+ "operationId": "OAuthProviders_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "oauthProviderId",
+ "description": "ID of oauthProvider resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "oauthProvider",
+ "description": "OauthProvider resource payload to create or update.",
+ "schema": {
+ "$ref": "#/definitions/OAuthProvider"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OAuthProvider"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OAuthProvider"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "OAuthProviders_CreateOrUpdate": {
+ "$ref": "./examples/OAuthProviders_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "OAuthProviders"
+ ],
+ "description": "Deletes an specified oauthProvider resource.",
+ "operationId": "OAuthProviders_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "oauthProviderId",
+ "description": "ID of oauthProvider.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "OAuthProviders_Delete": {
+ "$ref": "./examples/OAuthProviders_Delete.json"
+ }
+ }
+ }
+ },
+ "/oauth/tokens": {
+ "get": {
+ "tags": [
+ "OAuthTokens"
+ ],
+ "description": "Returns a list of OAuthToken documents.",
+ "operationId": "OAuthTokens_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "authProviderIds",
+ "description": "Name of AuthProvider.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "farmerIds",
+ "description": "List of farmers.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "isValid",
+ "description": "If the token object is valid.",
+ "type": "boolean"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Minimum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Maximum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Minimum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Maximum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OAuthTokenListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "OAuthTokens_List": {
+ "$ref": "./examples/OAuthTokens_List.json"
+ }
+ }
+ }
+ },
+ "/oauth/tokens/:connect": {
+ "post": {
+ "tags": [
+ "OAuthTokens"
+ ],
+ "description": "Returns Connection link needed in the OAuth flow.",
+ "operationId": "OAuthTokens_GetOAuthConnectionLink",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "connectRequest",
+ "description": "OAuth Connect Request.",
+ "schema": {
+ "$ref": "#/definitions/OAuthConnectRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "OAuthTokens_GetOAuthConnectionLink": {
+ "$ref": "./examples/OAuthTokens_GetOAuthConnectionLink.json"
+ }
+ }
+ }
+ },
+ "/oauth/tokens/remove/{jobId}": {
+ "get": {
+ "tags": [
+ "OAuthTokens"
+ ],
+ "description": "Get cascade delete job details for OAuth tokens for specified job ID.",
+ "operationId": "OAuthTokens_GetCascadeDeleteJobDetails",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "ID of the job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "OAuthTokens_GetCascadeDeleteJobDetails": {
+ "$ref": "./examples/OAuthTokens_GetCascadeDeleteJobDetails.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "OAuthTokens"
+ ],
+ "description": "Create a cascade delete job for OAuth tokens.",
+ "operationId": "OAuthTokens_CreateCascadeDeleteJob",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Job ID supplied by end user.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "farmerId",
+ "description": "ID of the farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "oauthProviderId",
+ "description": "ID of the OAuthProvider.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "OAuthTokens_CreateCascadeDeleteJob": {
+ "$ref": "./examples/OAuthTokens_CreateCascadeDeleteJob.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/planting-data": {
+ "get": {
+ "tags": [
+ "PlantingData"
+ ],
+ "description": "Returns a paginated list of planting data resources under a particular farm.",
+ "operationId": "PlantingData_ListByFarmerId",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "minAvgPlantingRate",
+ "description": "Minimum AvgPlantingRate value(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgPlantingRate",
+ "description": "Maximum AvgPlantingRate value (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minTotalMaterial",
+ "description": "Minimum TotalMaterial value(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxTotalMaterial",
+ "description": "Maximum TotalMaterial value (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minAvgMaterial",
+ "description": "Minimum AvgMaterial value(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgMaterial",
+ "description": "Maximum AvgMaterial value (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "sources",
+ "description": "Sources of the operation data.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "associatedBoundaryIds",
+ "description": "Boundary IDs associated with operation data.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "operationBoundaryIds",
+ "description": "Operation boundary IDs associated with operation data.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minOperationStartDateTime",
+ "description": "Minimum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationStartDateTime",
+ "description": "Maximum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationEndDateTime",
+ "description": "Minimum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationEndDateTime",
+ "description": "Maximum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationModifiedDateTime",
+ "description": "Minimum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationModifiedDateTime",
+ "description": "Maximum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minArea",
+ "description": "Minimum area for which operation was applied (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxArea",
+ "description": "Maximum area for which operation was applied (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "Names of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Minimum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Maximum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Minimum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Maximum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PlantingDataListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "PlantingData_ListByFarmerId": {
+ "$ref": "./examples/PlantingData_ListByFarmerId.json"
+ }
+ }
+ }
+ },
+ "/planting-data": {
+ "get": {
+ "tags": [
+ "PlantingData"
+ ],
+ "description": "Returns a paginated list of planting data resources across all farmers.",
+ "operationId": "PlantingData_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "minAvgPlantingRate",
+ "description": "Minimum AvgPlantingRate value(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgPlantingRate",
+ "description": "Maximum AvgPlantingRate value (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minTotalMaterial",
+ "description": "Minimum TotalMaterial value(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxTotalMaterial",
+ "description": "Maximum TotalMaterial value (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minAvgMaterial",
+ "description": "Minimum AvgMaterial value(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgMaterial",
+ "description": "Maximum AvgMaterial value (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "sources",
+ "description": "Sources of the operation data.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "associatedBoundaryIds",
+ "description": "Boundary IDs associated with operation data.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "operationBoundaryIds",
+ "description": "Operation boundary IDs associated with operation data.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minOperationStartDateTime",
+ "description": "Minimum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationStartDateTime",
+ "description": "Maximum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationEndDateTime",
+ "description": "Minimum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationEndDateTime",
+ "description": "Maximum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationModifiedDateTime",
+ "description": "Minimum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationModifiedDateTime",
+ "description": "Maximum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minArea",
+ "description": "Minimum area for which operation was applied (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxArea",
+ "description": "Maximum area for which operation was applied (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "Names of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Minimum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Maximum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Minimum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Maximum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PlantingDataListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "PlantingData_List": {
+ "$ref": "./examples/PlantingData_List.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/planting-data/{plantingDataId}": {
+ "get": {
+ "tags": [
+ "PlantingData"
+ ],
+ "description": "Get a specified planting data resource under a particular farmer.",
+ "operationId": "PlantingData_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "plantingDataId",
+ "description": "ID of the planting data resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PlantingData"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PlantingData_Get": {
+ "$ref": "./examples/PlantingData_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "PlantingData"
+ ],
+ "description": "Creates or updates an planting data resource under a particular farmer.",
+ "operationId": "PlantingData_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "plantingDataId",
+ "description": "ID of the planting data resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "plantingData",
+ "description": "Planting data resource payload to create or update.",
+ "schema": {
+ "$ref": "#/definitions/PlantingData"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PlantingData"
+ }
+ },
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PlantingData"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PlantingData_CreateOrUpdate": {
+ "$ref": "./examples/PlantingData_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PlantingData"
+ ],
+ "description": "Deletes a specified planting data resource under a particular farmer.",
+ "operationId": "PlantingData_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "plantingDataId",
+ "description": "ID of the planting data.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PlantingData_Delete": {
+ "$ref": "./examples/PlantingData_Delete.json"
+ }
+ }
+ }
+ },
+ "/scenes": {
+ "get": {
+ "tags": [
+ "Scenes"
+ ],
+ "description": "Returns a paginated list of scene resources.",
+ "operationId": "Scenes_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "provider",
+ "description": "Provider name of scene data.",
+ "required": true,
+ "type": "string",
+ "default": "Microsoft"
+ },
+ {
+ "in": "query",
+ "name": "farmerId",
+ "description": "FarmerId.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "boundaryId",
+ "description": "BoundaryId.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "source",
+ "description": "Source name of scene data, default value Sentinel_2_L2A (Sentinel 2 L2A).",
+ "type": "string",
+ "default": "Sentinel_2_L2A"
+ },
+ {
+ "in": "query",
+ "name": "startDateTime",
+ "description": "Scene start UTC datetime (inclusive), sample format: yyyy-MM-ddThh:mm:ssZ.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "endDateTime",
+ "description": "Scene end UTC datetime (inclusive), sample format: yyyy-MM-dThh:mm:ssZ.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCloudCoveragePercentage",
+ "description": "Filter scenes with cloud coverage percentage less than max value. Range [0 to 100.0].",
+ "type": "number",
+ "format": "double",
+ "default": 100,
+ "maximum": 100,
+ "minimum": 0
+ },
+ {
+ "in": "query",
+ "name": "maxDarkPixelCoveragePercentage",
+ "description": "Filter scenes with dark pixel coverage percentage less than max value. Range [0 to 100.0].",
+ "type": "number",
+ "format": "double",
+ "default": 100,
+ "maximum": 100,
+ "minimum": 0
+ },
+ {
+ "in": "query",
+ "name": "imageNames",
+ "description": "List of image names to be filtered.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "imageResolutions",
+ "description": "List of image resolutions in meters to be filtered.",
+ "type": "array",
+ "items": {
+ "format": "double",
+ "type": "number"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "imageFormats",
+ "description": "List of image formats to be filtered.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/SceneListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Scenes_List": {
+ "$ref": "./examples/Scenes_List.json"
+ }
+ }
+ }
+ },
+ "/scenes/satellite/ingest-data/{jobId}": {
+ "put": {
+ "tags": [
+ "Scenes"
+ ],
+ "description": "Create a satellite data ingestion job.",
+ "operationId": "Scenes_CreateSatelliteDataIngestionJob",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "JobId provided by user.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "job",
+ "description": "Job parameters supplied by user.",
+ "schema": {
+ "$ref": "#/definitions/SatelliteDataIngestionJob"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/SatelliteDataIngestionJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Scenes_CreateSatelliteDataIngestionJob": {
+ "$ref": "./examples/Scenes_CreateSatelliteDataIngestionJob.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Scenes"
+ ],
+ "description": "Get a satellite data ingestion job.",
+ "operationId": "Scenes_GetSatelliteDataIngestionJobDetails",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "ID of the job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/SatelliteDataIngestionJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Scenes_GetSatelliteDataIngestionJobDetails": {
+ "$ref": "./examples/Scenes_GetSatelliteDataIngestionJobDetails.json"
+ }
+ }
+ }
+ },
+ "/scenes/downloadFiles": {
+ "get": {
+ "tags": [
+ "Scenes"
+ ],
+ "description": "Downloads and returns file stream as response for the given input filePath.",
+ "operationId": "Scenes_Download",
+ "produces": [
+ "application/octet-stream",
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "filePath",
+ "description": "cloud storage path of scene file.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "format": "binary",
+ "type": "file"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Scenes_Download": {
+ "$ref": "./examples/Scenes_Download.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/seasonal-fields": {
+ "get": {
+ "tags": [
+ "SeasonalFields"
+ ],
+ "description": "Returns a paginated list of seasonal field resources under a particular farmer.",
+ "operationId": "SeasonalFields_ListByFarmerId",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "farmIds",
+ "description": "Farm Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "fieldIds",
+ "description": "Field Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "seasonIds",
+ "description": "Season Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "cropVarietyIds",
+ "description": "CropVarietyIds of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "cropIds",
+ "description": "Ids of the crop it belongs to.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minAvgYieldValue",
+ "description": "Minimum average yield value of the seasonal field(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgYieldValue",
+ "description": "Maximum average yield value of the seasonal field(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "avgYieldUnit",
+ "description": "Unit of the average yield value attribute.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "minAvgSeedPopulationValue",
+ "description": "Minimum average seed population value of the seasonal field(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgSeedPopulationValue",
+ "description": "Maximum average seed population value of the seasonal field(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "avgSeedPopulationUnit",
+ "description": "Unit of average seed population value attribute.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "minPlantingDateTime",
+ "description": "Minimum planting datetime, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxPlantingDateTime",
+ "description": "Maximum planting datetime, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "Names of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Minimum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Maximum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Minimum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Maximum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/SeasonalFieldListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "SeasonalFields_ListByFarmerId": {
+ "$ref": "./examples/SeasonalFields_ListByFarmerId.json"
+ }
+ }
+ }
+ },
+ "/seasonal-fields": {
+ "get": {
+ "tags": [
+ "SeasonalFields"
+ ],
+ "description": "Returns a paginated list of seasonal field resources across all farmers.",
+ "operationId": "SeasonalFields_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "farmIds",
+ "description": "Farm Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "fieldIds",
+ "description": "Field Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "seasonIds",
+ "description": "Season Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "cropVarietyIds",
+ "description": "CropVarietyIds of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "cropIds",
+ "description": "Ids of the crop it belongs to.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minAvgYieldValue",
+ "description": "Minimum average yield value of the seasonal field(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgYieldValue",
+ "description": "Maximum average yield value of the seasonal field(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "avgYieldUnit",
+ "description": "Unit of the average yield value attribute.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "minAvgSeedPopulationValue",
+ "description": "Minimum average seed population value of the seasonal field(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgSeedPopulationValue",
+ "description": "Maximum average seed population value of the seasonal field(inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "avgSeedPopulationUnit",
+ "description": "Unit of average seed population value attribute.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "minPlantingDateTime",
+ "description": "Minimum planting datetime, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxPlantingDateTime",
+ "description": "Maximum planting datetime, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "Names of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Minimum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Maximum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Minimum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Maximum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/SeasonalFieldListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "SeasonalFields_List": {
+ "$ref": "./examples/SeasonalFields_List.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/seasonal-fields/{seasonalFieldId}": {
+ "get": {
+ "tags": [
+ "SeasonalFields"
+ ],
+ "description": "Gets a specified seasonal field resource under a particular farmer.",
+ "operationId": "SeasonalFields_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "seasonalFieldId",
+ "description": "ID of the seasonal field.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/SeasonalField"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "SeasonalFields_Get": {
+ "$ref": "./examples/SeasonalFields_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SeasonalFields"
+ ],
+ "description": "Creates or Updates a seasonal field resource under a particular farmer.",
+ "operationId": "SeasonalFields_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "seasonalFieldId",
+ "description": "ID of the seasonal field resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "seasonalField",
+ "description": "Seasonal field resource payload to create or update.",
+ "schema": {
+ "$ref": "#/definitions/SeasonalField"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/SeasonalField"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/SeasonalField"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "SeasonalFields_CreateOrUpdate": {
+ "$ref": "./examples/SeasonalFields_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "SeasonalFields"
+ ],
+ "description": "Deletes a specified seasonal-field resource under a particular farmer.",
+ "operationId": "SeasonalFields_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "seasonalFieldId",
+ "description": "ID of the seasonal field.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "SeasonalFields_Delete": {
+ "$ref": "./examples/SeasonalFields_Delete.json"
+ }
+ }
+ }
+ },
+ "/seasonal-fields/cascade-delete/{jobId}": {
+ "get": {
+ "tags": [
+ "SeasonalFields"
+ ],
+ "description": "Get cascade delete job for specified seasonal field.",
+ "operationId": "SeasonalFields_GetCascadeDeleteJobDetails",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "ID of the job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "SeasonalFields_GetCascadeDeleteJobDetails": {
+ "$ref": "./examples/SeasonalFields_GetCascadeDeleteJobDetails.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "SeasonalFields"
+ ],
+ "description": "Create a cascade delete job for specified seasonal field.",
+ "operationId": "SeasonalFields_CreateCascadeDeleteJob",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Job ID supplied by end user.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "farmerId",
+ "description": "ID of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "seasonalFieldId",
+ "description": "ID of the seasonalField to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "SeasonalFields_CreateCascadeDeleteJob": {
+ "$ref": "./examples/SeasonalFields_CreateCascadeDeleteJob.json"
+ }
+ }
+ }
+ },
+ "/seasons": {
+ "get": {
+ "tags": [
+ "Seasons"
+ ],
+ "description": "Returns a paginated list of season resources.",
+ "operationId": "Seasons_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "minStartDateTime",
+ "description": "Minimum season start datetime, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxStartDateTime",
+ "description": "Maximum season start datetime, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minEndDateTime",
+ "description": "Minimum season end datetime, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxEndDateTime",
+ "description": "Maximum season end datetime, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "years",
+ "description": "Years of the resource.",
+ "type": "array",
+ "items": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "Names of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Minimum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Maximum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Minimum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Maximum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/SeasonListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Seasons_List": {
+ "$ref": "./examples/Seasons_List.json"
+ }
+ }
+ }
+ },
+ "/seasons/{seasonId}": {
+ "get": {
+ "tags": [
+ "Seasons"
+ ],
+ "description": "Gets a specified season resource.",
+ "operationId": "Seasons_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "seasonId",
+ "description": "ID of the season.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Season"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Seasons_Get": {
+ "$ref": "./examples/Seasons_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Seasons"
+ ],
+ "description": "Creates or updates a season resource.",
+ "operationId": "Seasons_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "seasonId",
+ "description": "ID of the season resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "season",
+ "description": "Season resource payload to create or update.",
+ "schema": {
+ "$ref": "#/definitions/Season"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Season"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Season"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Seasons_CreateOrUpdate": {
+ "$ref": "./examples/Seasons_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Seasons"
+ ],
+ "description": "Deletes a specified season resource.",
+ "operationId": "Seasons_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "seasonId",
+ "description": "ID of the season.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Seasons_Delete": {
+ "$ref": "./examples/Seasons_Delete.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/tillage-data": {
+ "get": {
+ "tags": [
+ "TillageData"
+ ],
+ "description": "Returns a paginated list of tillage data resources under a particular farm.",
+ "operationId": "TillageData_ListByFarmerId",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "minTillageDepth",
+ "description": "Minimum measured tillage depth (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxTillageDepth",
+ "description": "Maximum measured tillage depth (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minTillagePressure",
+ "description": "Minimum pressure applied by a tillage implement (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxTillagePressure",
+ "description": "Maximum pressure applied by a tillage implement (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "sources",
+ "description": "Sources of the operation data.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "associatedBoundaryIds",
+ "description": "Boundary IDs associated with operation data.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "operationBoundaryIds",
+ "description": "Operation boundary IDs associated with operation data.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minOperationStartDateTime",
+ "description": "Minimum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationStartDateTime",
+ "description": "Maximum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationEndDateTime",
+ "description": "Minimum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationEndDateTime",
+ "description": "Maximum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationModifiedDateTime",
+ "description": "Minimum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationModifiedDateTime",
+ "description": "Maximum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minArea",
+ "description": "Minimum area for which operation was applied (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxArea",
+ "description": "Maximum area for which operation was applied (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "Names of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Minimum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Maximum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Minimum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Maximum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/TillageDataListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "TillageData_ListByFarmerId": {
+ "$ref": "./examples/TillageData_ListByFarmerId.json"
+ }
+ }
+ }
+ },
+ "/tillage-data": {
+ "get": {
+ "tags": [
+ "TillageData"
+ ],
+ "description": "Returns a paginated list of tillage data resources across all farmers.",
+ "operationId": "TillageData_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "minTillageDepth",
+ "description": "Minimum measured tillage depth (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxTillageDepth",
+ "description": "Maximum measured tillage depth (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minTillagePressure",
+ "description": "Minimum pressure applied by a tillage implement (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxTillagePressure",
+ "description": "Maximum pressure applied by a tillage implement (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "sources",
+ "description": "Sources of the operation data.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "associatedBoundaryIds",
+ "description": "Boundary IDs associated with operation data.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "operationBoundaryIds",
+ "description": "Operation boundary IDs associated with operation data.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minOperationStartDateTime",
+ "description": "Minimum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationStartDateTime",
+ "description": "Maximum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationEndDateTime",
+ "description": "Minimum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationEndDateTime",
+ "description": "Maximum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationModifiedDateTime",
+ "description": "Minimum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationModifiedDateTime",
+ "description": "Maximum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minArea",
+ "description": "Minimum area for which operation was applied (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxArea",
+ "description": "Maximum area for which operation was applied (inclusive).",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "Names of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Minimum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Maximum creation date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Minimum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Maximum last modified date of resource (inclusive).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/TillageDataListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "TillageData_List": {
+ "$ref": "./examples/TillageData_List.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/tillage-data/{tillageDataId}": {
+ "get": {
+ "tags": [
+ "TillageData"
+ ],
+ "description": "Get a specified tillage data resource under a particular farmer.",
+ "operationId": "TillageData_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "tillageDataId",
+ "description": "ID of the tillage data resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/TillageData"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TillageData_Get": {
+ "$ref": "./examples/TillageData_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "TillageData"
+ ],
+ "description": "Creates or updates an tillage data resource under a particular farmer.",
+ "operationId": "TillageData_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "tillageDataId",
+ "description": "ID of the tillage data resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "tillageData",
+ "description": "Tillage data resource payload to create or update.",
+ "schema": {
+ "$ref": "#/definitions/TillageData"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/TillageData"
+ }
+ },
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/TillageData"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TillageData_CreateOrUpdate": {
+ "$ref": "./examples/TillageData_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "TillageData"
+ ],
+ "description": "Deletes a specified tillage data resource under a particular farmer.",
+ "operationId": "TillageData_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the associated farmer resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "tillageDataId",
+ "description": "ID of the tillage data.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TillageData_Delete": {
+ "$ref": "./examples/TillageData_Delete.json"
+ }
+ }
+ }
+ },
+ "/weather": {
+ "get": {
+ "tags": [
+ "Weather"
+ ],
+ "description": "Returns a paginated list of weather data.",
+ "operationId": "Weather_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "farmerId",
+ "description": "Farmer ID.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "boundaryId",
+ "description": "Boundary ID.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "extensionId",
+ "description": "ID of the weather extension.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-za-z]{3,50}[.][A-za-z]{3,100}$"
+ },
+ {
+ "in": "query",
+ "name": "weatherDataType",
+ "description": "Type of weather data (forecast/historical).",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 0
+ },
+ {
+ "in": "query",
+ "name": "granularity",
+ "description": "Granularity of weather data (daily/hourly).",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 0
+ },
+ {
+ "in": "query",
+ "name": "startDateTime",
+ "description": "Weather data start UTC date-time (inclusive), sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "endDateTime",
+ "description": "Weather data end UTC date-time (inclusive), sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/WeatherDataListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Weather_List": {
+ "$ref": "./examples/Weather_List.json"
+ }
+ }
+ }
+ },
+ "/weather/ingest-data/{jobId}": {
+ "get": {
+ "tags": [
+ "Weather"
+ ],
+ "description": "Get weather ingestion job.",
+ "operationId": "Weather_GetDataIngestionJobDetails",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "ID of the job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/WeatherDataIngestionJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Weather_GetDataIngestionJobDetails": {
+ "$ref": "./examples/Weather_GetDataIngestionJobDetails.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Weather"
+ ],
+ "description": "Create a weather data ingestion job.",
+ "operationId": "Weather_CreateDataIngestionJob",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Job id supplied by user.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "job",
+ "description": "Job parameters supplied by user.",
+ "schema": {
+ "$ref": "#/definitions/WeatherDataIngestionJob"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/WeatherDataIngestionJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Weather_CreateDataIngestionJob": {
+ "$ref": "./examples/Weather_CreateDataIngestionJob.json"
+ }
+ }
+ }
+ },
+ "/weather/delete-data/{jobId}": {
+ "get": {
+ "tags": [
+ "Weather"
+ ],
+ "description": "Get weather data delete job.",
+ "operationId": "Weather_GetDataDeleteJobDetails",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "ID of the job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/WeatherDataDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Weather_GetDataDeleteJobDetails": {
+ "$ref": "./examples/Weather_GetDataDeleteJobDetails.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Weather"
+ ],
+ "description": "Create a weather data delete job.",
+ "operationId": "Weather_CreateDataDeleteJob",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Job ID supplied by end user.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "job",
+ "description": "Job parameters supplied by user.",
+ "schema": {
+ "$ref": "#/definitions/WeatherDataDeleteJob"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/WeatherDataDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Weather_CreateDataDeleteJob": {
+ "$ref": "./examples/Weather_CreateDataDeleteJob.json"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "Endpoint": {
+ "name": "Endpoint",
+ "description": "The endpoint of your FarmBeats resource (protocol and hostname, for example: https://{resourceName}.farmbeats.azure.net).",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ },
+ "definitions": {
+ "Measure": {
+ "description": "Schema for storing measurement reading and unit.",
+ "type": "object",
+ "properties": {
+ "unit": {
+ "description": "Data unit.",
+ "maxLength": 50,
+ "minLength": 1,
+ "type": "string"
+ },
+ "value": {
+ "format": "double",
+ "description": "Data value.",
+ "type": "number"
+ }
+ }
+ },
+ "ApplicationProductDetail": {
+ "description": "Schema of product used during application.",
+ "type": "object",
+ "properties": {
+ "productName": {
+ "description": "Name of the product applied.",
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "isCarrier": {
+ "description": "A flag indicating whether product is a carrier for a tank mix.",
+ "default": false,
+ "type": "boolean"
+ },
+ "avgMaterial": {
+ "$ref": "#/definitions/Measure"
+ },
+ "totalMaterial": {
+ "$ref": "#/definitions/Measure"
+ }
+ }
+ },
+ "ApplicationData": {
+ "description": "Schema of application data resource.",
+ "type": "object",
+ "properties": {
+ "applicationProductDetails": {
+ "description": "Application product details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationProductDetail"
+ }
+ },
+ "avgMaterial": {
+ "$ref": "#/definitions/Measure"
+ },
+ "totalMaterial": {
+ "$ref": "#/definitions/Measure"
+ },
+ "area": {
+ "$ref": "#/definitions/Measure"
+ },
+ "source": {
+ "description": "Source of the operation data.",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string"
+ },
+ "operationModifiedDateTime": {
+ "format": "date-time",
+ "description": "Modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.\r\nNote: this will be specified by the source provider itself.",
+ "type": "string"
+ },
+ "operationStartDateTime": {
+ "format": "date-time",
+ "description": "Start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string"
+ },
+ "operationEndDateTime": {
+ "format": "date-time",
+ "description": "End date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string"
+ },
+ "attachmentsLink": {
+ "description": "Link for attachments.",
+ "type": "string",
+ "readOnly": true
+ },
+ "associatedBoundaryId": {
+ "description": "Optional boundary ID of the field for which operation was applied.",
+ "type": "string"
+ },
+ "operationBoundaryId": {
+ "description": "Optional boundary ID of the actual area for which operation was applied inside the specified field.",
+ "type": "string"
+ },
+ "farmerId": {
+ "description": "Farmer ID which belongs to the operation data.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Unique resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "The ETag value to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name to identify resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Textual description of the resource.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "ApplicationDataListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationData"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string"
+ }
+ }
+ },
+ "InnerError": {
+ "description": "Inner error containing list of errors.\r\nInnerError reference document.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Specific error code than was provided by the\r\ncontaining error.",
+ "type": "string"
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError"
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "Error": {
+ "description": "An error from the Azure AgPlatform service.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Server-defined set of error codes.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Human-readable representation of the error.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Target of the error.",
+ "type": "string"
+ },
+ "details": {
+ "description": "Array of details about specific errors that led to this reported error.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError"
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "An error response from the Azure AgPlatform service.\r\nErrorResponse reference document..",
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "traceId": {
+ "description": "Unique trace ID.",
+ "type": "string"
+ }
+ }
+ },
+ "Attachment": {
+ "description": "Schema of attachment resource.",
+ "type": "object",
+ "properties": {
+ "farmerId": {
+ "description": "Farmer id for this attachment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceId": {
+ "description": "Associated Resource id for this attachment.",
+ "type": "string"
+ },
+ "resourceType": {
+ "description": "Associated Resource type for this attachment\r\ni.e. Farmer, Farm, Field, SeasonalField, Boundary, FarmOperationApplicationData, HarvestData, TillageData, PlantingData.",
+ "type": "string"
+ },
+ "originalFileName": {
+ "description": "Original File Name for this attachment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Unique id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date when resource was created.",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "Date when resource was last modified.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name to identify resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Textual description of resource.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "eTag": {
+ "description": "The ETag value to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AttachmentListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Attachment"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string"
+ }
+ }
+ },
+ "GeoJsonObjectType": {
+ "description": "GeoJSON object type.",
+ "enum": [
+ "Point",
+ "Polygon",
+ "MultiPolygon"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "GeoJsonObjectType",
+ "modelAsString": true
+ }
+ },
+ "GeoJsonObject": {
+ "description": "GeoJSON abstract class.",
+ "required": [
+ "type"
+ ],
+ "type": "object",
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/GeoJsonObjectType"
+ }
+ },
+ "discriminator": "type"
+ },
+ "Boundary": {
+ "description": "Schema of boundary resource.",
+ "type": "object",
+ "properties": {
+ "farmerId": {
+ "description": "Farmer ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "parentId": {
+ "description": "ID of the parent(field or seasonalField) it belongs to.",
+ "type": "string"
+ },
+ "geometry": {
+ "$ref": "#/definitions/GeoJsonObject"
+ },
+ "isPrimary": {
+ "description": "Is the boundary primary.",
+ "type": "boolean"
+ },
+ "acreage": {
+ "format": "double",
+ "description": "Boundary area in acres.",
+ "type": "number",
+ "readOnly": true
+ },
+ "parentType": {
+ "description": "Type of the parent it belongs to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Unique resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "The ETag value to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name to identify resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Textual description of the resource.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ }
+ }
+ },
+ "example": {
+ "name": "string",
+ "description": "string",
+ "parentId": "string",
+ "isPrimary": false,
+ "geometry": {
+ "type": "Polygon",
+ "coordinates": [
+ [
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ],
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ],
+ [
+ 73.70448589324951,
+ 20.542411534243367
+ ],
+ [
+ 73.70877742767334,
+ 20.541688176010233
+ ],
+ [
+ 73.71023654937744,
+ 20.545083911372505
+ ],
+ [
+ 73.70663166046143,
+ 20.546992723579137
+ ],
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ]
+ ]
+ ]
+ }
+ }
+ },
+ "BoundaryListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Boundary"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string"
+ }
+ }
+ },
+ "SearchBoundaryQuery": {
+ "description": "SearchAllBoundaries and SearchBoundaries parameters.",
+ "type": "object",
+ "properties": {
+ "ids": {
+ "description": "Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "names": {
+ "description": "Names of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "propertyFilters": {
+ "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "statuses": {
+ "description": "Statuses of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "minCreatedDateTime": {
+ "format": "date-time",
+ "description": "Minimum creation date of resource (inclusive).",
+ "type": "string"
+ },
+ "maxCreatedDateTime": {
+ "format": "date-time",
+ "description": "Maximum creation date of resource (inclusive).",
+ "type": "string"
+ },
+ "minLastModifiedDateTime": {
+ "format": "date-time",
+ "description": "Minimum last modified date of resource (inclusive).",
+ "type": "string"
+ },
+ "maxLastModifiedDateTime": {
+ "format": "date-time",
+ "description": "Maximum last modified date of resource (inclusive).",
+ "type": "string"
+ },
+ "$maxPageSize": {
+ "format": "int32",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10,
+ "type": "integer"
+ },
+ "$skipToken": {
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ "isPrimary": {
+ "description": "Is the boundary primary.",
+ "type": "boolean"
+ },
+ "parentType": {
+ "description": "Type of the parent it belongs to.",
+ "type": "string"
+ },
+ "parentIds": {
+ "description": "Parent Ids of the resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "minAcreage": {
+ "format": "double",
+ "description": "Minimum acreage of the boundary (inclusive).",
+ "type": "number"
+ },
+ "maxAcreage": {
+ "format": "double",
+ "description": "Maximum acreage of the boundary (inclusive).",
+ "type": "number"
+ },
+ "intersectsWithGeometry": {
+ "$ref": "#/definitions/GeoJsonObject"
+ }
+ }
+ },
+ "CascadeDeleteJob": {
+ "description": "Schema of cascade delete job.",
+ "required": [
+ "farmerId",
+ "resourceId",
+ "resourceType"
+ ],
+ "type": "object",
+ "properties": {
+ "farmerId": {
+ "description": "Farmer ID.",
+ "type": "string"
+ },
+ "resourceId": {
+ "description": "The id of the resource.",
+ "type": "string"
+ },
+ "resourceType": {
+ "description": "The type of the resource.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique job id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
+ "type": "string",
+ "readOnly": true
+ },
+ "durationInSeconds": {
+ "format": "double",
+ "description": "Duration of the job in seconds.",
+ "type": "number",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Status message to capture more details of the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Job created at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastActionDateTime": {
+ "format": "date-time",
+ "description": "Job was last acted upon at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Job start time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "Job end time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name to identify resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Textual description of the resource.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "BoundaryOverlapResponse": {
+ "description": "Schema of boundary overlap response.",
+ "type": "object",
+ "properties": {
+ "boundaryAcreage": {
+ "format": "double",
+ "description": "Acreage of Main boundary.",
+ "type": "number"
+ },
+ "otherBoundaryAcreage": {
+ "format": "double",
+ "description": "Acreage of other boundary.",
+ "type": "number"
+ },
+ "intersectingAcreage": {
+ "format": "double",
+ "description": "Acreage of intersecting boundary.",
+ "type": "number"
+ }
+ }
+ },
+ "Crop": {
+ "description": "Schema of crop resource.",
+ "type": "object",
+ "properties": {
+ "phenotype": {
+ "description": "Crop phenotype.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "The ETag value to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name to identify resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Textual description of the resource.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "CropListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Crop"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string"
+ }
+ }
+ },
+ "CropVariety": {
+ "description": "Schema of crop variety resource.",
+ "type": "object",
+ "properties": {
+ "cropId": {
+ "description": "ID of the crop it belongs to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "brand": {
+ "description": "CropVariety Brand.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "product": {
+ "description": "CropVariety product.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "The ETag value to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name to identify resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Textual description of the resource.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "CropVarietyListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CropVariety"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string"
+ }
+ }
+ },
+ "Farmer": {
+ "description": "Schema of farmer resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "The ETag value to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name to identify resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Textual description of the resource.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "FarmerListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Farmer"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string"
+ }
+ }
+ },
+ "FarmOperationDataIngestionJob": {
+ "description": "Schema of farm operation data ingestion job.",
+ "required": [
+ "authProviderId",
+ "farmerId",
+ "startYear"
+ ],
+ "type": "object",
+ "properties": {
+ "farmerId": {
+ "description": "Farmer ID.",
+ "type": "string"
+ },
+ "authProviderId": {
+ "description": "Authentication provider ID.",
+ "type": "string"
+ },
+ "operations": {
+ "description": "List of operation types for which data needs to be downloaded. Available values: AllOperations, Application, Planting, Harvest, Tillage.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "startYear": {
+ "format": "int32",
+ "description": "Start Year (Minimum = 2000, Maximum = CurrentYear).",
+ "type": "integer"
+ },
+ "id": {
+ "description": "Unique job id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
+ "type": "string",
+ "readOnly": true
+ },
+ "durationInSeconds": {
+ "format": "double",
+ "description": "Duration of the job in seconds.",
+ "type": "number",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Status message to capture more details of the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Job created at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastActionDateTime": {
+ "format": "date-time",
+ "description": "Job was last acted upon at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Job start time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "Job end time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name to identify resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Textual description of the resource.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "Farm": {
+ "description": "Schema of farm resource.",
+ "type": "object",
+ "properties": {
+ "farmerId": {
+ "description": "Farmer ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Unique resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "The ETag value to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name to identify resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Textual description of the resource.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "FarmListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Farm"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string"
+ }
+ }
+ },
+ "Field": {
+ "description": "Schema of field resource.",
+ "type": "object",
+ "properties": {
+ "farmId": {
+ "description": "ID of the associated Farm.",
+ "type": "string"
+ },
+ "farmerId": {
+ "description": "Farmer ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "primaryBoundaryId": {
+ "description": "Primary boundary id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "boundaryIds": {
+ "description": "Boundary Ids.",
+ "uniqueItems": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "id": {
+ "description": "Unique resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "The ETag value to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name to identify resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Textual description of the resource.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "FieldListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Field"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string"
+ }
+ }
+ },
+ "HarvestProductDetail": {
+ "description": "Schema of product used during harvesting.",
+ "type": "object",
+ "properties": {
+ "productName": {
+ "description": "Name of the product.",
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "area": {
+ "$ref": "#/definitions/Measure"
+ },
+ "totalYield": {
+ "$ref": "#/definitions/Measure"
+ },
+ "avgYield": {
+ "$ref": "#/definitions/Measure"
+ },
+ "avgMoisture": {
+ "$ref": "#/definitions/Measure"
+ },
+ "totalWetMass": {
+ "$ref": "#/definitions/Measure"
+ },
+ "avgWetMass": {
+ "$ref": "#/definitions/Measure"
+ }
+ }
+ },
+ "HarvestData": {
+ "description": "Schema of harvest data resource.",
+ "type": "object",
+ "properties": {
+ "totalYield": {
+ "$ref": "#/definitions/Measure"
+ },
+ "avgYield": {
+ "$ref": "#/definitions/Measure"
+ },
+ "totalWetMass": {
+ "$ref": "#/definitions/Measure"
+ },
+ "avgWetMass": {
+ "$ref": "#/definitions/Measure"
+ },
+ "avgMoisture": {
+ "$ref": "#/definitions/Measure"
+ },
+ "avgSpeed": {
+ "$ref": "#/definitions/Measure"
+ },
+ "harvestProductDetails": {
+ "description": "Harvest product details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HarvestProductDetail"
+ }
+ },
+ "area": {
+ "$ref": "#/definitions/Measure"
+ },
+ "source": {
+ "description": "Source of the operation data.",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string"
+ },
+ "operationModifiedDateTime": {
+ "format": "date-time",
+ "description": "Modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.\r\nNote: this will be specified by the source provider itself.",
+ "type": "string"
+ },
+ "operationStartDateTime": {
+ "format": "date-time",
+ "description": "Start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string"
+ },
+ "operationEndDateTime": {
+ "format": "date-time",
+ "description": "End date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string"
+ },
+ "attachmentsLink": {
+ "description": "Link for attachments.",
+ "type": "string",
+ "readOnly": true
+ },
+ "associatedBoundaryId": {
+ "description": "Optional boundary ID of the field for which operation was applied.",
+ "type": "string"
+ },
+ "operationBoundaryId": {
+ "description": "Optional boundary ID of the actual area for which operation was applied inside the specified field.",
+ "type": "string"
+ },
+ "farmerId": {
+ "description": "Farmer ID which belongs to the operation data.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Unique resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "The ETag value to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name to identify resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Textual description of the resource.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "HarvestDataListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HarvestData"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string"
+ }
+ }
+ },
+ "ImageProcessingRasterizeJob": {
+ "description": "ImageProcessingRasterizeJob.",
+ "required": [
+ "farmerId",
+ "shapefileAttachmentId",
+ "shapefileColumnNames"
+ ],
+ "type": "object",
+ "properties": {
+ "farmerId": {
+ "description": "Farmer ID.",
+ "type": "string"
+ },
+ "shapefileAttachmentId": {
+ "description": "Shapefile attachment ID.",
+ "type": "string"
+ },
+ "shapefileColumnNames": {
+ "description": "List of shapefile column names to create raster attachments.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "id": {
+ "description": "Unique job id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
+ "type": "string",
+ "readOnly": true
+ },
+ "durationInSeconds": {
+ "format": "double",
+ "description": "Duration of the job in seconds.",
+ "type": "number",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Status message to capture more details of the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Job created at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastActionDateTime": {
+ "format": "date-time",
+ "description": "Job was last acted upon at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Job start time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "Job end time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name to identify resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Textual description of the resource.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "OAuthProvider": {
+ "description": "Schema of OAuth provider resource.",
+ "type": "object",
+ "properties": {
+ "appId": {
+ "description": "OAuth App ID for given OAuth Provider.",
+ "maxLength": 200,
+ "minLength": 2,
+ "type": "string"
+ },
+ "appSecret": {
+ "description": "OAuth App secret for given Provider.\r\nNote: Won't be sent in response.",
+ "maxLength": 200,
+ "minLength": 2,
+ "type": "string"
+ },
+ "apiKey": {
+ "description": "OAuth Api key for given Provider.\r\nNote: currently Applicable to Climate provider. Won't be sent in response.",
+ "maxLength": 200,
+ "minLength": 2,
+ "type": "string"
+ },
+ "isProductionApp": {
+ "description": "An optional flag to determine if the App is ready to be used for Production scenarios in the provider side or not. (Default value: false)\r\nNote: Currently applicable for JohnDeere.",
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "description": "Unique OAuth provider ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "The ETag value to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name to identify resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Textual description of the resource.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "OAuthProviderListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OAuthProvider"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string"
+ }
+ }
+ },
+ "OAuthToken": {
+ "description": "Schema of OAuth token resource.",
+ "required": [
+ "authProviderId",
+ "farmerId"
+ ],
+ "type": "object",
+ "properties": {
+ "farmerId": {
+ "description": "Farmer ID for this OAuth config.",
+ "type": "string"
+ },
+ "authProviderId": {
+ "description": "ID of the OAuth provider resource containing app information.",
+ "type": "string"
+ },
+ "isValid": {
+ "description": "An optional flag indicating whether the token is a valid or expired (Default value: true).",
+ "default": true,
+ "type": "boolean"
+ },
+ "eTag": {
+ "description": "The ETag value to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "OAuthTokenListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OAuthToken"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string"
+ }
+ }
+ },
+ "OAuthConnectRequest": {
+ "description": "Get OAuth config query parameters.",
+ "required": [
+ "farmerId",
+ "oAuthProviderId",
+ "userRedirectLink"
+ ],
+ "type": "object",
+ "properties": {
+ "farmerId": {
+ "description": "ID of the farmer.",
+ "type": "string"
+ },
+ "oAuthProviderId": {
+ "description": "ID of the OAuthProvider.",
+ "type": "string"
+ },
+ "userRedirectLink": {
+ "description": "Link to redirect the user to, at the end of the oauth flow.",
+ "maxLength": 1000,
+ "minLength": 0,
+ "type": "string"
+ },
+ "userRedirectState": {
+ "description": "State to provide back when redirecting the user, at the end of the oauth flow.",
+ "maxLength": 200,
+ "minLength": 0,
+ "type": "string"
+ }
+ }
+ },
+ "PlantingProductDetail": {
+ "description": "Schema for Planting product detail.",
+ "type": "object",
+ "properties": {
+ "productName": {
+ "description": "Name of the product.",
+ "type": "string"
+ },
+ "area": {
+ "$ref": "#/definitions/Measure"
+ },
+ "totalMaterial": {
+ "$ref": "#/definitions/Measure"
+ },
+ "avgMaterial": {
+ "$ref": "#/definitions/Measure"
+ }
+ }
+ },
+ "PlantingData": {
+ "description": "Schema of planting data resource.",
+ "type": "object",
+ "properties": {
+ "avgPlantingRate": {
+ "$ref": "#/definitions/Measure"
+ },
+ "totalMaterial": {
+ "$ref": "#/definitions/Measure"
+ },
+ "avgMaterial": {
+ "$ref": "#/definitions/Measure"
+ },
+ "plantingProductDetails": {
+ "description": "Planting product details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PlantingProductDetail"
+ }
+ },
+ "area": {
+ "$ref": "#/definitions/Measure"
+ },
+ "source": {
+ "description": "Source of the operation data.",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string"
+ },
+ "operationModifiedDateTime": {
+ "format": "date-time",
+ "description": "Modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.\r\nNote: this will be specified by the source provider itself.",
+ "type": "string"
+ },
+ "operationStartDateTime": {
+ "format": "date-time",
+ "description": "Start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string"
+ },
+ "operationEndDateTime": {
+ "format": "date-time",
+ "description": "End date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string"
+ },
+ "attachmentsLink": {
+ "description": "Link for attachments.",
+ "type": "string",
+ "readOnly": true
+ },
+ "associatedBoundaryId": {
+ "description": "Optional boundary ID of the field for which operation was applied.",
+ "type": "string"
+ },
+ "operationBoundaryId": {
+ "description": "Optional boundary ID of the actual area for which operation was applied inside the specified field.",
+ "type": "string"
+ },
+ "farmerId": {
+ "description": "Farmer ID which belongs to the operation data.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Unique resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "The ETag value to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name to identify resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Textual description of the resource.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "PlantingDataListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PlantingData"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string"
+ }
+ }
+ },
+ "ImageFormat": {
+ "description": "Supported image formats for scene resource.",
+ "enum": [
+ "TIF"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ImageFormat",
+ "modelAsString": true
+ }
+ },
+ "ImageFile": {
+ "description": "Schema of image file resource.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "fileLink": {
+ "description": "Link of the image file.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the image file.",
+ "type": "string"
+ },
+ "imageFormat": {
+ "$ref": "#/definitions/ImageFormat"
+ },
+ "resolution": {
+ "format": "double",
+ "description": "Resolution of image file in meters.",
+ "type": "number"
+ }
+ }
+ },
+ "Scene": {
+ "description": "Schema of scene resource.",
+ "type": "object",
+ "properties": {
+ "sceneDateTime": {
+ "format": "date-time",
+ "description": "Date-time of the scene, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string"
+ },
+ "provider": {
+ "description": "Data provider of the scene.",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string"
+ },
+ "source": {
+ "description": "Data source of the scene.",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string"
+ },
+ "imageFiles": {
+ "description": "Collection of image files.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageFile"
+ }
+ },
+ "imageFormat": {
+ "$ref": "#/definitions/ImageFormat"
+ },
+ "cloudCoverPercentage": {
+ "format": "double",
+ "description": "Cloud cover percentage of the scene.",
+ "maximum": 100,
+ "minimum": 0,
+ "type": "number"
+ },
+ "darkPixelPercentage": {
+ "format": "double",
+ "description": "Dark pixel percentage of the scene.",
+ "maximum": 100,
+ "minimum": 0,
+ "type": "number"
+ },
+ "ndviMedianValue": {
+ "format": "double",
+ "description": "Median of NDVI of the scene.",
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "boundaryId": {
+ "description": "Boundary ID which belongs to the scene.",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string"
+ },
+ "farmerId": {
+ "description": "Farmer ID which belongs to the scene.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique scene resource ID.",
+ "type": "string"
+ },
+ "eTag": {
+ "description": "The ETag value to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SceneListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Scene"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string"
+ }
+ }
+ },
+ "DataProvider": {
+ "description": "Provider of satellite data.",
+ "enum": [
+ "Microsoft"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataProvider",
+ "modelAsString": true
+ }
+ },
+ "Source": {
+ "description": "Source of satellite data.",
+ "enum": [
+ "Sentinel_2_L2A"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Source",
+ "modelAsString": true
+ }
+ },
+ "SatelliteData": {
+ "description": "Data Model for SatelliteIngestionJobRequest.",
+ "type": "object",
+ "properties": {
+ "imageNames": {
+ "description": "List of ImageNames.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "NDVI"
+ ]
+ },
+ "imageFormats": {
+ "description": "List of ImageFormats. Available value: TIF.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "TIF"
+ ]
+ },
+ "imageResolutions": {
+ "description": "List of ImageResolutions in meters. Available values: 10, 20, 60.",
+ "type": "array",
+ "items": {
+ "format": "double",
+ "type": "number"
+ },
+ "example": [
+ 10
+ ]
+ }
+ }
+ },
+ "SatelliteDataIngestionJob": {
+ "description": "Schema of satellite data ingestion job.",
+ "required": [
+ "boundaryId",
+ "endDateTime",
+ "farmerId",
+ "startDateTime"
+ ],
+ "type": "object",
+ "properties": {
+ "farmerId": {
+ "description": "Farmer ID.",
+ "type": "string"
+ },
+ "boundaryId": {
+ "description": "The id of the boundary object for which satellite data is being fetched.",
+ "type": "string"
+ },
+ "startDateTime": {
+ "format": "date-time",
+ "description": "Start Date.",
+ "type": "string"
+ },
+ "endDateTime": {
+ "format": "date-time",
+ "description": "End Date.",
+ "type": "string"
+ },
+ "provider": {
+ "$ref": "#/definitions/DataProvider"
+ },
+ "source": {
+ "$ref": "#/definitions/Source"
+ },
+ "data": {
+ "$ref": "#/definitions/SatelliteData"
+ },
+ "id": {
+ "description": "Unique job id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
+ "type": "string",
+ "readOnly": true
+ },
+ "durationInSeconds": {
+ "format": "double",
+ "description": "Duration of the job in seconds.",
+ "type": "number",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Status message to capture more details of the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Job created at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastActionDateTime": {
+ "format": "date-time",
+ "description": "Job was last acted upon at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Job start time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "Job end time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name to identify resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Textual description of the resource.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "SeasonalField": {
+ "description": "Schema of seasonal field resource.",
+ "type": "object",
+ "properties": {
+ "farmerId": {
+ "description": "Farmer ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "primaryBoundaryId": {
+ "description": "Primary boundary id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "boundaryIds": {
+ "description": "Boundary Ids.",
+ "uniqueItems": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "farmId": {
+ "description": "ID of the associated Farm.",
+ "type": "string"
+ },
+ "fieldId": {
+ "description": "ID of the associated Field.",
+ "type": "string"
+ },
+ "seasonId": {
+ "description": "ID of the season it belongs to.",
+ "type": "string"
+ },
+ "cropVarietyIds": {
+ "description": "CropVariety ids.",
+ "uniqueItems": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "cropId": {
+ "description": "ID of the crop it belongs to.",
+ "type": "string"
+ },
+ "avgYieldValue": {
+ "format": "double",
+ "description": "Average yield value of the seasonal field.",
+ "type": "number"
+ },
+ "avgYieldUnit": {
+ "description": "Unit of the average yield value attribute.",
+ "maxLength": 32,
+ "minLength": 2,
+ "type": "string"
+ },
+ "avgSeedPopulationValue": {
+ "format": "double",
+ "description": "Average seed population value of the seasonal field.",
+ "type": "number"
+ },
+ "avgSeedPopulationUnit": {
+ "description": "Unit of average seed population value attribute.",
+ "maxLength": 32,
+ "minLength": 2,
+ "type": "string"
+ },
+ "plantingDateTime": {
+ "format": "date-time",
+ "description": "Planting datetime, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "The ETag value to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name to identify resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Textual description of the resource.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "SeasonalFieldListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SeasonalField"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string"
+ }
+ }
+ },
+ "Season": {
+ "description": "Schema of season resource.",
+ "type": "object",
+ "properties": {
+ "startDateTime": {
+ "format": "date-time",
+ "description": "Season start datetime, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string"
+ },
+ "endDateTime": {
+ "format": "date-time",
+ "description": "Season end datetime, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string"
+ },
+ "year": {
+ "format": "int32",
+ "description": "Season year.",
+ "type": "integer"
+ },
+ "id": {
+ "description": "Unique resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "The ETag value to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name to identify resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Textual description of the resource.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "SeasonListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Season"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string"
+ }
+ }
+ },
+ "TillageData": {
+ "description": "Schema of tillage data resource.",
+ "type": "object",
+ "properties": {
+ "tillageDepth": {
+ "$ref": "#/definitions/Measure"
+ },
+ "tillagePressure": {
+ "$ref": "#/definitions/Measure"
+ },
+ "area": {
+ "$ref": "#/definitions/Measure"
+ },
+ "source": {
+ "description": "Source of the operation data.",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string"
+ },
+ "operationModifiedDateTime": {
+ "format": "date-time",
+ "description": "Modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.\r\nNote: this will be specified by the source provider itself.",
+ "type": "string"
+ },
+ "operationStartDateTime": {
+ "format": "date-time",
+ "description": "Start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string"
+ },
+ "operationEndDateTime": {
+ "format": "date-time",
+ "description": "End date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string"
+ },
+ "attachmentsLink": {
+ "description": "Link for attachments.",
+ "type": "string",
+ "readOnly": true
+ },
+ "associatedBoundaryId": {
+ "description": "Optional boundary ID of the field for which operation was applied.",
+ "type": "string"
+ },
+ "operationBoundaryId": {
+ "description": "Optional boundary ID of the actual area for which operation was applied inside the specified field.",
+ "type": "string"
+ },
+ "farmerId": {
+ "description": "Farmer ID which belongs to the operation data.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Unique resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "The ETag value to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name to identify resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Textual description of the resource.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "TillageDataListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TillageData"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string"
+ }
+ }
+ },
+ "Location": {
+ "description": "Location model class.",
+ "required": [
+ "latitude",
+ "longitude"
+ ],
+ "type": "object",
+ "properties": {
+ "latitude": {
+ "format": "double",
+ "description": "Latitude of the location.",
+ "maximum": 90,
+ "minimum": -90,
+ "type": "number"
+ },
+ "longitude": {
+ "format": "double",
+ "description": "Longitude of the location.",
+ "maximum": 180,
+ "minimum": -180,
+ "type": "number"
+ }
+ }
+ },
+ "WeatherData": {
+ "description": "Schema of weather data.",
+ "required": [
+ "boundaryId",
+ "dateTime",
+ "extensionId",
+ "extensionVersion",
+ "farmerId",
+ "granularity",
+ "location",
+ "weatherDataType"
+ ],
+ "type": "object",
+ "properties": {
+ "farmerId": {
+ "description": "Farmer ID.",
+ "type": "string"
+ },
+ "boundaryId": {
+ "description": "Boundary ID.",
+ "type": "string"
+ },
+ "extensionId": {
+ "description": "ID of the weather extension.",
+ "type": "string"
+ },
+ "location": {
+ "$ref": "#/definitions/Location"
+ },
+ "dateTime": {
+ "format": "date-time",
+ "description": "Date-time of the weather data, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string"
+ },
+ "unitSystemCode": {
+ "description": "Unit System like US/SI etc.",
+ "type": "string"
+ },
+ "extensionVersion": {
+ "description": "Version of the weather data extension.",
+ "type": "string"
+ },
+ "weatherDataType": {
+ "description": "Type of weather data (forecast/historical).",
+ "type": "string"
+ },
+ "granularity": {
+ "description": "Granularity of weather data (daily/hourly).",
+ "type": "string"
+ },
+ "cloudCover": {
+ "$ref": "#/definitions/Measure"
+ },
+ "dewPoint": {
+ "$ref": "#/definitions/Measure"
+ },
+ "growingDegreeDay": {
+ "$ref": "#/definitions/Measure"
+ },
+ "precipitation": {
+ "$ref": "#/definitions/Measure"
+ },
+ "pressure": {
+ "$ref": "#/definitions/Measure"
+ },
+ "relativeHumidity": {
+ "$ref": "#/definitions/Measure"
+ },
+ "soilMoisture": {
+ "$ref": "#/definitions/Measure"
+ },
+ "soilTemperature": {
+ "$ref": "#/definitions/Measure"
+ },
+ "temperature": {
+ "$ref": "#/definitions/Measure"
+ },
+ "visibility": {
+ "$ref": "#/definitions/Measure"
+ },
+ "wetBulbTemperature": {
+ "$ref": "#/definitions/Measure"
+ },
+ "windChill": {
+ "$ref": "#/definitions/Measure"
+ },
+ "windDirection": {
+ "$ref": "#/definitions/Measure"
+ },
+ "windGust": {
+ "$ref": "#/definitions/Measure"
+ },
+ "windSpeed": {
+ "$ref": "#/definitions/Measure"
+ },
+ "id": {
+ "description": "Weather data ID.",
+ "type": "string"
+ },
+ "eTag": {
+ "description": "The ETag value to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "WeatherDataListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WeatherData"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string"
+ }
+ }
+ },
+ "WeatherDataIngestionJob": {
+ "description": "Schema of weather ingestion job.",
+ "required": [
+ "boundaryId",
+ "extensionApiInput",
+ "extensionApiName",
+ "extensionId",
+ "farmerId"
+ ],
+ "type": "object",
+ "properties": {
+ "boundaryId": {
+ "description": "The id of the boundary object for which weather data is being fetched.",
+ "type": "string"
+ },
+ "farmerId": {
+ "description": "The id of the farmer object for which weather data is being fetched.",
+ "type": "string"
+ },
+ "extensionId": {
+ "description": "ID of the extension to be used for the providerInput. eg. DTN.ClearAg.",
+ "maxLength": 100,
+ "minLength": 2,
+ "pattern": "^[A-za-z]{3,50}[.][A-za-z]{3,100}$",
+ "type": "string"
+ },
+ "extensionApiName": {
+ "description": "Extension api name to which request is to be made.",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string"
+ },
+ "extensionApiInput": {
+ "description": "Extension api input dictionary which would be used to feed request query/body/parameter information.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "extensionDataProviderAppId": {
+ "description": "App id of the weather data provider.",
+ "maxLength": 200,
+ "minLength": 2,
+ "type": "string"
+ },
+ "extensionDataProviderApiKey": {
+ "description": "Api key of the weather data provider.",
+ "maxLength": 200,
+ "minLength": 2,
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique job id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
+ "type": "string",
+ "readOnly": true
+ },
+ "durationInSeconds": {
+ "format": "double",
+ "description": "Duration of the job in seconds.",
+ "type": "number",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Status message to capture more details of the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Job created at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastActionDateTime": {
+ "format": "date-time",
+ "description": "Job was last acted upon at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Job start time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "Job end time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name to identify resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Textual description of the resource.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "WeatherDataDeleteJob": {
+ "description": "Schema of weather data delete job.",
+ "required": [
+ "boundaryId",
+ "extensionId",
+ "farmerId"
+ ],
+ "type": "object",
+ "properties": {
+ "extensionId": {
+ "description": "ID of the extension to be used for the providerInput. eg. DTN.ClearAg.",
+ "maxLength": 100,
+ "minLength": 2,
+ "pattern": "^[A-za-z]{3,50}[.][A-za-z]{3,100}$",
+ "type": "string"
+ },
+ "farmerId": {
+ "description": "The id of the farmer object for which weather data is being fetched.",
+ "type": "string"
+ },
+ "boundaryId": {
+ "description": "The id of the boundary object for which weather data is being fetched.",
+ "type": "string"
+ },
+ "weatherDataType": {
+ "description": "Type of weather data. Possible values include: 'forecast' , 'historical'.",
+ "type": "string"
+ },
+ "granularity": {
+ "description": "Granularity of weather data. Possible values include: 'daily' , 'hourly'.",
+ "type": "string"
+ },
+ "startDateTime": {
+ "format": "date-time",
+ "description": "Weather data start UTC date-time (inclusive), sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string"
+ },
+ "endDateTime": {
+ "format": "date-time",
+ "description": "Weather data end UTC date-time (inclusive), sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique job id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
+ "type": "string",
+ "readOnly": true
+ },
+ "durationInSeconds": {
+ "format": "double",
+ "description": "Duration of the job in seconds.",
+ "type": "number",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Status message to capture more details of the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Job created at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastActionDateTime": {
+ "format": "date-time",
+ "description": "Job was last acted upon at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Job start time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "Job end time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name to identify resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Textual description of the resource.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "MultiPolygon": {
+ "description": "MultiPolygon geometry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/GeoJsonObject"
+ },
+ {
+ "$ref": "#/definitions/MultiPolygonCoordinates"
+ }
+ ],
+ "x-ms-discriminator-value": "MultiPolygon"
+ },
+ "MultiPolygonCoordinates": {
+ "description": "Schema of multi polygon coordinates.",
+ "required": [
+ "coordinates"
+ ],
+ "type": "object",
+ "properties": {
+ "coordinates": {
+ "description": "Gets or sets Coordinates of GeoJSON Object.\r\nIt must be an array of polygons, each polygon contains list of linear rings.\r\nFor Polygons with more than one of these rings, the first MUST be the exterior ring,\r\nand any others MUST be interior rings.",
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "format": "double",
+ "type": "number"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "Point": {
+ "description": "Point geometry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/GeoJsonObject"
+ },
+ {
+ "$ref": "#/definitions/PointCoordinates"
+ }
+ ],
+ "x-ms-discriminator-value": "Point"
+ },
+ "PointCoordinates": {
+ "description": "Schema of the coordinates of a point.",
+ "type": "object",
+ "required": [
+ "coordinates"
+ ],
+ "properties": {
+ "coordinates": {
+ "description": "Gets or sets the coordinate of this point.\r\nIt must be an array of 2 or 3 elements for a 2D or 3D system.",
+ "maximum": 3,
+ "minimum": 2,
+ "type": "array",
+ "items": {
+ "format": "double",
+ "type": "number"
+ }
+ }
+ }
+ },
+ "Polygon": {
+ "description": "Polygon geometry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/GeoJsonObject"
+ },
+ {
+ "$ref": "#/definitions/PolygonCoordinates"
+ }
+ ],
+ "x-ms-discriminator-value": "Polygon"
+ },
+ "PolygonCoordinates": {
+ "description": "Schema of polygon coordinates.",
+ "required": [
+ "coordinates"
+ ],
+ "type": "object",
+ "properties": {
+ "coordinates": {
+ "description": "Gets or sets type of the GeoJSON Object.\r\nIt must be an array of linear ring coordinate arrays.\r\nFor Polygons with more than one of these rings, the first MUST be the exterior ring,\r\nand any others MUST be interior rings.",
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "format": "double",
+ "type": "number"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "securityDefinitions": {
+ "Bearer": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header",
+ "description": "Please provide a valid bearer token for authorized API calls. Note that you might need to clear your browser cache if you tried un-authenticated calls before."
+ }
+ },
+ "security": [
+ {
+ "Bearer": []
+ }
+ ]
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_CreateOrUpdate.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_CreateOrUpdate.json
new file mode 100644
index 000000000000..57545922eeb1
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_CreateOrUpdate.json
@@ -0,0 +1,149 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "applicationDataId": "APPLICATION123",
+ "api-version": "2021-03-31-preview",
+ "applicationData": {
+ "source": "Manual",
+ "name": "Application data for North Farm",
+ "description": "some description",
+ "status": "Active",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "operationModifiedDateTime": "2021-02-28T11:12:12Z",
+ "operationBoundaryId": "APPLICATIONOPBOUNDARY1",
+ "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
+ "area": {
+ "unit": "acre",
+ "value": 60
+ },
+ "totalMaterial": {
+ "unit": "kilos",
+ "value": 9
+ },
+ "avgMaterial": {
+ "unit": "kilosperacre",
+ "value": 0.15
+ },
+ "applicationProductDetails": [
+ {
+ "productName": "POTASHVAR1",
+ "isCarrier": false,
+ "totalMaterial": {
+ "unit": "kilos",
+ "value": 4
+ },
+ "avgMaterial": {
+ "unit": "kilosperacre",
+ "value": 0.2
+ }
+ }
+ ],
+ "properties": {
+ "Region": "Europe",
+ "CountyCode": 123
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "farmerId": "FARMER123",
+ "id": "APPLICATION123",
+ "source": "Manual",
+ "name": "Application data for North Farm",
+ "description": "some description",
+ "status": "Active",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "operationModifiedDateTime": "2021-02-28T11:12:12Z",
+ "operationBoundaryId": "APPLICATIONOPBOUNDARY1",
+ "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
+ "area": {
+ "unit": "acre",
+ "value": 60
+ },
+ "totalMaterial": {
+ "unit": "kilos",
+ "value": 9
+ },
+ "avgMaterial": {
+ "unit": "kilosperacre",
+ "value": 0.15
+ },
+ "applicationProductDetails": [
+ {
+ "productName": "POTASHVAR1",
+ "isCarrier": false,
+ "totalMaterial": {
+ "unit": "kilos",
+ "value": 4
+ },
+ "avgMaterial": {
+ "unit": "kilosperacre",
+ "value": 0.2
+ }
+ }
+ ],
+ "properties": {
+ "Region": "Europe",
+ "CountyCode": 123
+ },
+ "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{applicationDataId}}&resourceTypes=ApplicationData",
+ "createdDateTime": "2021-02-29T04:57:04Z",
+ "modifiedDateTime": "2021-03-08T18:22:07Z",
+ "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
+ }
+ },
+ "201": {
+ "body": {
+ "farmerId": "FARMER123",
+ "id": "APPLICATION123",
+ "source": "Manual",
+ "name": "Application data for North Farm",
+ "description": "some description",
+ "status": "Active",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "operationModifiedDateTime": "2021-02-28T11:12:12Z",
+ "operationBoundaryId": "APPLICATIONOPBOUNDARY1",
+ "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
+ "area": {
+ "unit": "acre",
+ "value": 60
+ },
+ "totalMaterial": {
+ "unit": "kilos",
+ "value": 9
+ },
+ "avgMaterial": {
+ "unit": "kilosperacre",
+ "value": 0.15
+ },
+ "applicationProductDetails": [
+ {
+ "productName": "POTASHVAR1",
+ "isCarrier": false,
+ "totalMaterial": {
+ "unit": "kilos",
+ "value": 4
+ },
+ "avgMaterial": {
+ "unit": "kilosperacre",
+ "value": 0.2
+ }
+ }
+ ],
+ "properties": {
+ "Region": "Europe",
+ "CountyCode": 123
+ },
+ "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{applicationDataId}}&resourceTypes=ApplicationData",
+ "createdDateTime": "2021-02-29T04:57:04Z",
+ "modifiedDateTime": "2021-03-08T18:22:07Z",
+ "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_Delete.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_Delete.json
new file mode 100644
index 000000000000..20dc9e559382
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_Delete.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "applicationDataId": "APPLICATION123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_Get.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_Get.json
new file mode 100644
index 000000000000..b9daa7a1fd1f
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_Get.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "applicationDataId": "APPLICATION123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "farmerId": "FARMER123",
+ "id": "APPLICATION123",
+ "source": "Manual",
+ "name": "Application data for North Farm",
+ "description": "some description",
+ "status": "Active",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "operationModifiedDateTime": "2021-02-28T11:12:12Z",
+ "operationBoundaryId": "APPLICATIONOPBOUNDARY1",
+ "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
+ "area": {
+ "unit": "acre",
+ "value": 60
+ },
+ "totalMaterial": {
+ "unit": "kilos",
+ "value": 9
+ },
+ "avgMaterial": {
+ "unit": "kilosperacre",
+ "value": 0.15
+ },
+ "applicationProductDetails": [
+ {
+ "productName": "POTASHVAR1",
+ "isCarrier": false,
+ "totalMaterial": {
+ "unit": "kilos",
+ "value": 4
+ },
+ "avgMaterial": {
+ "unit": "kilosperacre",
+ "value": 0.2
+ }
+ }
+ ],
+ "properties": {
+ "Region": "Europe",
+ "CountyCode": 123
+ },
+ "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{applicationDataId}}&resourceTypes=ApplicationData",
+ "createdDateTime": "2021-02-29T04:57:04Z",
+ "modifiedDateTime": "2021-03-08T18:22:07Z",
+ "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_List.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_List.json
new file mode 100644
index 000000000000..5f76b4ef2d0d
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_List.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "farmerId": "FARMER123",
+ "id": "APPLICATION123",
+ "source": "Manual",
+ "name": "Application data for North Farm",
+ "description": "some description",
+ "status": "Active",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "operationModifiedDateTime": "2021-02-28T11:12:12Z",
+ "operationBoundaryId": "APPLICATIONOPBOUNDARY1",
+ "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
+ "area": {
+ "unit": "acre",
+ "value": 60
+ },
+ "totalMaterial": {
+ "unit": "kilos",
+ "value": 9
+ },
+ "avgMaterial": {
+ "unit": "kilosperacre",
+ "value": 0.15
+ },
+ "applicationProductDetails": [
+ {
+ "productName": "POTASHVAR1",
+ "isCarrier": false,
+ "totalMaterial": {
+ "unit": "kilos",
+ "value": 4
+ },
+ "avgMaterial": {
+ "unit": "kilosperacre",
+ "value": 0.2
+ }
+ }
+ ],
+ "properties": {
+ "Region": "Europe",
+ "CountyCode": 123
+ },
+ "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{applicationDataId}}&resourceTypes=ApplicationData",
+ "createdDateTime": "2021-02-29T04:57:04Z",
+ "modifiedDateTime": "2021-03-08T18:22:07Z",
+ "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https://{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/seasonalFields/{{seasonalFieldId}}?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7e23TRC%3a10%23ISA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_ListByFarmerId.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_ListByFarmerId.json
new file mode 100644
index 000000000000..5b0d758e3ae4
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_ListByFarmerId.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "farmerId": "FARMER123",
+ "id": "APPLICATION123",
+ "source": "Manual",
+ "name": "Application data for North Farm",
+ "description": "some description",
+ "status": "Active",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "operationModifiedDateTime": "2021-02-28T11:12:12Z",
+ "operationBoundaryId": "APPLICATIONOPBOUNDARY1",
+ "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
+ "area": {
+ "unit": "acre",
+ "value": 60
+ },
+ "totalMaterial": {
+ "unit": "kilos",
+ "value": 9
+ },
+ "avgMaterial": {
+ "unit": "kilosperacre",
+ "value": 0.15
+ },
+ "applicationProductDetails": [
+ {
+ "productName": "POTASHVAR1",
+ "isCarrier": false,
+ "totalMaterial": {
+ "unit": "kilos",
+ "value": 4
+ },
+ "avgMaterial": {
+ "unit": "kilosperacre",
+ "value": 0.2
+ }
+ }
+ ],
+ "properties": {
+ "Region": "Europe",
+ "CountyCode": 123
+ },
+ "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{applicationDataId}}&resourceTypes=ApplicationData",
+ "createdDateTime": "2021-02-29T04:57:04Z",
+ "modifiedDateTime": "2021-03-08T18:22:07Z",
+ "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https://{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/seasonalFields/{{seasonalFieldId}}?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7e23TRC%3a10%23ISA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_CreateOrUpdate.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_CreateOrUpdate.json
new file mode 100644
index 000000000000..690aa0d90592
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_CreateOrUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "attachmentId": "ATTACHMENT123",
+ "api-version": "2021-03-31-preview",
+ "file": "101010101"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "ATTACHMENT123",
+ "farmerId": "FARMER123",
+ "resourceId": "FARMER123",
+ "resourceType": "farmer",
+ "originalFileName": "attachment-file",
+ "name": "John Smith's Field",
+ "status": "Active",
+ "description": "Some description",
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "ATTACHMENT123",
+ "farmerId": "FARMER123",
+ "resourceId": "FARMER123",
+ "resourceType": "farmer",
+ "originalFileName": "attachment-file",
+ "name": "John Smith's Field",
+ "status": "Active",
+ "description": "Some description",
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_Delete.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_Delete.json
new file mode 100644
index 000000000000..e6fddfaa62cf
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_Delete.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "attachmentId": "ATTACHMENT123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_Download.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_Download.json
new file mode 100644
index 000000000000..75312a623832
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_Download.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "attachmentId": "ATTACHMENT123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": "101010101"
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_Get.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_Get.json
new file mode 100644
index 000000000000..635f927d9a43
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "attachmentId": "ATTACHMENT123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "ATTACHMENT123",
+ "farmerId": "FARMER123",
+ "resourceId": "FARMER123",
+ "resourceType": "farmer",
+ "originalFileName": "attachment-file",
+ "name": "John Smith's Field",
+ "status": "Active",
+ "description": "Some description",
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_ListByFarmerId.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_ListByFarmerId.json
new file mode 100644
index 000000000000..5fd6ec10225c
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_ListByFarmerId.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "ATTACHMENT123",
+ "farmerId": "FARMER123",
+ "resourceId": "FARMER123",
+ "resourceType": "farmer",
+ "originalFileName": "attachment-file",
+ "name": "John Smith's Field",
+ "status": "Active",
+ "description": "Some description",
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https://{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/seasonalFields/{{seasonalFieldId}}?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7e23TRC%3a10%23ISA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_CreateCascadeDeleteJob.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_CreateCascadeDeleteJob.json
new file mode 100644
index 000000000000..09ce3d8c2053
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_CreateCascadeDeleteJob.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "boundaryId": "BOUNDARY123",
+ "api-version": "2021-03-31-preview",
+ "jobId": "JOB123"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "id": "JOB123",
+ "status": "Succeeded",
+ "message": "Job completed successfully.",
+ "durationInSeconds": 14.7977857,
+ "createdDateTime": "2021-04-19T11:31:20Z",
+ "lastActionDateTime": "2021-04-19T11:31:34Z",
+ "startTime": "2021-04-19T11:31:19Z",
+ "endTime": "2021-04-19T11:31:34Z",
+ "farmerId": "FARMER123",
+ "resourceId": "BOUNDARY123",
+ "resourceType": "boundary",
+ "name": "John Smith's Boundary",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_CreateOrUpdate.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_CreateOrUpdate.json
new file mode 100644
index 000000000000..25264c72321d
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_CreateOrUpdate.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "boundaryId": "BOUNDARY123",
+ "api-version": "2021-03-31-preview",
+ "boundary": {
+ "parentId": "FIELD123",
+ "isPrimary": false,
+ "geometry": {
+ "type": "Polygon",
+ "coordinates": [
+ [
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ],
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ],
+ [
+ 73.70448589324951,
+ 20.542411534243367
+ ],
+ [
+ 73.70877742767334,
+ 20.541688176010233
+ ],
+ [
+ 73.71023654937744,
+ 20.545083911372505
+ ],
+ [
+ 73.70663166046143,
+ 20.546992723579137
+ ],
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ]
+ ]
+ ]
+ },
+ "name": "John Smith's Boundary",
+ "description": "Some description"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "parentId": "FIELD123",
+ "isPrimary": false,
+ "geometry": {
+ "type": "Polygon",
+ "coordinates": [
+ [
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ],
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ],
+ [
+ 73.70448589324951,
+ 20.542411534243367
+ ],
+ [
+ 73.70877742767334,
+ 20.541688176010233
+ ],
+ [
+ 73.71023654937744,
+ 20.545083911372505
+ ],
+ [
+ 73.70663166046143,
+ 20.546992723579137
+ ],
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ]
+ ]
+ ]
+ },
+ "name": "John Smith's Boundary",
+ "description": "Some description"
+ }
+ },
+ "201": {
+ "body": {
+ "parentId": "FIELD123",
+ "isPrimary": false,
+ "geometry": {
+ "type": "Polygon",
+ "coordinates": [
+ [
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ],
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ],
+ [
+ 73.70448589324951,
+ 20.542411534243367
+ ],
+ [
+ 73.70877742767334,
+ 20.541688176010233
+ ],
+ [
+ 73.71023654937744,
+ 20.545083911372505
+ ],
+ [
+ 73.70663166046143,
+ 20.546992723579137
+ ],
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ]
+ ]
+ ]
+ },
+ "name": "John Smith's Boundary",
+ "description": "Some description"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_Delete.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_Delete.json
new file mode 100644
index 000000000000..6f54f0c0e68b
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_Delete.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "boundaryId": "BOUNDARY123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_Get.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_Get.json
new file mode 100644
index 000000000000..8b367ca8b678
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_Get.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "boundaryId": "BOUNDARY123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "parentId": "FIELD123",
+ "isPrimary": false,
+ "geometry": {
+ "type": "Polygon",
+ "coordinates": [
+ [
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ],
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ],
+ [
+ 73.70448589324951,
+ 20.542411534243367
+ ],
+ [
+ 73.70877742767334,
+ 20.541688176010233
+ ],
+ [
+ 73.71023654937744,
+ 20.545083911372505
+ ],
+ [
+ 73.70663166046143,
+ 20.546992723579137
+ ],
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ]
+ ]
+ ]
+ },
+ "name": "John Smith's Boundary",
+ "description": "Some description"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_GetCascadeDeleteJobDetails.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_GetCascadeDeleteJobDetails.json
new file mode 100644
index 000000000000..aa0fba378785
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_GetCascadeDeleteJobDetails.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "jobId": "JOB123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "JOB123",
+ "status": "Succeeded",
+ "message": "Job completed successfully.",
+ "durationInSeconds": 14.7977857,
+ "createdDateTime": "2021-04-19T11:31:20Z",
+ "lastActionDateTime": "2021-04-19T11:31:34Z",
+ "startTime": "2021-04-19T11:31:19Z",
+ "endTime": "2021-04-19T11:31:34Z",
+ "name": "John Smith's Boundary",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "farmerId": "FARMER123",
+ "resourceId": "BOUNDARY123",
+ "resourceType": "boundary"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_GetOverlap.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_GetOverlap.json
new file mode 100644
index 000000000000..35d8e2ae0f84
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_GetOverlap.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "boundaryId": "BOUNDARY123",
+ "otherFarmerId": "FARMER456",
+ "otherBoundaryId": "BOUNDARY56",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "boundaryAcreage": 35,
+ "otherBoundaryAcreage": 25,
+ "intersectingAcreage": 10
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_List.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_List.json
new file mode 100644
index 000000000000..8ca2e70efba1
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_List.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "parentId": "FIELD123",
+ "isPrimary": false,
+ "geometry": {
+ "type": "Polygon",
+ "coordinates": [
+ [
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ],
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ],
+ [
+ 73.70448589324951,
+ 20.542411534243367
+ ],
+ [
+ 73.70877742767334,
+ 20.541688176010233
+ ],
+ [
+ 73.71023654937744,
+ 20.545083911372505
+ ],
+ [
+ 73.70663166046143,
+ 20.546992723579137
+ ],
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ]
+ ]
+ ]
+ },
+ "name": "John Smith's Boundary",
+ "description": "Some description"
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https://{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/seasonalFields/{{seasonalFieldId}}?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7e23TRC%3a10%23ISA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_ListByFarmerId.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_ListByFarmerId.json
new file mode 100644
index 000000000000..d4779fd7e53b
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_ListByFarmerId.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "parentId": "FIELD123",
+ "isPrimary": false,
+ "geometry": {
+ "type": "Polygon",
+ "coordinates": [
+ [
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ],
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ],
+ [
+ 73.70448589324951,
+ 20.542411534243367
+ ],
+ [
+ 73.70877742767334,
+ 20.541688176010233
+ ],
+ [
+ 73.71023654937744,
+ 20.545083911372505
+ ],
+ [
+ 73.70663166046143,
+ 20.546992723579137
+ ],
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ]
+ ]
+ ]
+ },
+ "name": "John Smith's Boundary",
+ "description": "Some description"
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https://{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/seasonalFields/{{seasonalFieldId}}?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7e23TRC%3a10%23ISA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_Search.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_Search.json
new file mode 100644
index 000000000000..713d5e4f3859
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_Search.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "body": {
+ "ids": [
+ "BOUNDARY123"
+ ],
+ "names": [
+ "John Smith's Boundary"
+ ],
+ "propertyFilters": [
+ "RetailerId"
+ ],
+ "statuses": [
+ "Active"
+ ],
+ "minCreatedDateTime": "2021-04-22T12:53:39Z",
+ "maxCreatedDateTime": "2021-04-22T12:53:39Z",
+ "minLastModifiedDateTime": "2021-04-22T12:53:39Z",
+ "maxLastModifiedDateTime": "2021-04-22T12:53:39Z",
+ "$maxPageSize": 50,
+ "$skipToken": "string",
+ "isPrimary": true,
+ "parentType": "field",
+ "parentIds": [
+ "FIELD123"
+ ],
+ "minAcreage": 200,
+ "maxAcreage": 800,
+ "intersectsWithGeometry": {
+ "type": "Polygon",
+ "coordinates": [
+ [
+ [
+ 10.98958969116211,
+ 45.284911882713146
+ ],
+ [
+ 11.004695892333984,
+ 45.284911882713146
+ ],
+ [
+ 11.004695892333984,
+ 45.29360722000945
+ ],
+ [
+ 10.98958969116211,
+ 45.29360722000945
+ ],
+ [
+ 10.98958969116211,
+ 45.284911882713146
+ ]
+ ]
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "parentId": "FIELD123",
+ "isPrimary": false,
+ "geometry": {
+ "type": "Polygon",
+ "coordinates": [
+ [
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ],
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ],
+ [
+ 73.70448589324951,
+ 20.542411534243367
+ ],
+ [
+ 73.70877742767334,
+ 20.541688176010233
+ ],
+ [
+ 73.71023654937744,
+ 20.545083911372505
+ ],
+ [
+ 73.70663166046143,
+ 20.546992723579137
+ ],
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ]
+ ]
+ ]
+ },
+ "name": "John Smith's Boundary",
+ "description": "Some description"
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https://{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/seasonalFields/{{seasonalFieldId}}?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7e23TRC%3a10%23ISA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_SearchByFarmerId.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_SearchByFarmerId.json
new file mode 100644
index 000000000000..01153167765b
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_SearchByFarmerId.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "api-version": "2021-03-31-preview",
+ "body": {
+ "ids": [
+ "BOUNDARY123"
+ ],
+ "names": [
+ "John Smith's Boundary"
+ ],
+ "propertyFilters": [
+ "RetailerId"
+ ],
+ "statuses": [
+ "Active"
+ ],
+ "minCreatedDateTime": "2021-04-22T12:53:39Z",
+ "maxCreatedDateTime": "2021-04-22T12:53:39Z",
+ "minLastModifiedDateTime": "2021-04-22T12:53:39Z",
+ "maxLastModifiedDateTime": "2021-04-22T12:53:39Z",
+ "$maxPageSize": 50,
+ "$skipToken": "string",
+ "isPrimary": true,
+ "parentType": "field",
+ "parentIds": [
+ "FIELD123"
+ ],
+ "minAcreage": 200,
+ "maxAcreage": 800,
+ "intersectsWithGeometry": {
+ "type": "Polygon",
+ "coordinates": [
+ [
+ [
+ 10.98958969116211,
+ 45.284911882713146
+ ],
+ [
+ 11.004695892333984,
+ 45.284911882713146
+ ],
+ [
+ 11.004695892333984,
+ 45.29360722000945
+ ],
+ [
+ 10.98958969116211,
+ 45.29360722000945
+ ],
+ [
+ 10.98958969116211,
+ 45.284911882713146
+ ]
+ ]
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "John Smith's Boundary",
+ "description": "Some description",
+ "parentId": "FIELD123",
+ "isPrimary": false,
+ "geometry": {
+ "type": "Polygon",
+ "coordinates": [
+ [
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ],
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ],
+ [
+ 73.70448589324951,
+ 20.542411534243367
+ ],
+ [
+ 73.70877742767334,
+ 20.541688176010233
+ ],
+ [
+ 73.71023654937744,
+ 20.545083911372505
+ ],
+ [
+ 73.70663166046143,
+ 20.546992723579137
+ ],
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ]
+ ]
+ ]
+ }
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https://{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/seasonalFields/{{seasonalFieldId}}?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7e23TRC%3a10%23ISA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_CreateOrUpdate.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_CreateOrUpdate.json
new file mode 100644
index 000000000000..b55ebb68da1a
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_CreateOrUpdate.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "cropId": "CORN123",
+ "cropVarietyId": "SEED123",
+ "cropVariety": {
+ "brand": "BRAND123",
+ "product": "AGTECH",
+ "status": "Active",
+ "name": "John Smith's Crop",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "SEED123",
+ "cropId": "CORN123",
+ "brand": "BRAND123",
+ "product": "AGTECH",
+ "name": "John Smith's Crop",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "SEED123",
+ "cropId": "CORN123",
+ "brand": "BRAND123",
+ "product": "AGTECH",
+ "name": "John Smith's Crop",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_Delete.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_Delete.json
new file mode 100644
index 000000000000..c62fd820d5c2
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_Delete.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "cropId": "CORN123",
+ "cropVarietyId": "SEED123"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_Get.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_Get.json
new file mode 100644
index 000000000000..be3eca9dbfa1
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_Get.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "cropId": "CORN123",
+ "cropVarietyId": "SEED123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "SEED123",
+ "cropId": "CORN123",
+ "brand": "BRAND123",
+ "product": "AGTECH",
+ "name": "John Smith's Crop",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_List.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_List.json
new file mode 100644
index 000000000000..ccde0d486bd2
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_List.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "SEED123",
+ "cropId": "CORN123",
+ "brand": "BRAND123",
+ "product": "AGTECH",
+ "name": "John Smith's Crop",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https://{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/seasonalFields/{{seasonalFieldId}}?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7e23TRC%3a10%23ISA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_ListByCropId.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_ListByCropId.json
new file mode 100644
index 000000000000..8eb7a9d2af11
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_ListByCropId.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "cropId": "CORN123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "SEED123",
+ "cropId": "CORN123",
+ "brand": "BRAND123",
+ "product": "AGTECH",
+ "name": "John Smith's Crop",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https://{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/seasonalFields/{{seasonalFieldId}}?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7e23TRC%3a10%23ISA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_CreateOrUpdate.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_CreateOrUpdate.json
new file mode 100644
index 000000000000..89db89d4104e
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_CreateOrUpdate.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "cropId": "CORN123",
+ "crop": {
+ "phenotype": "Corn",
+ "status": "Active",
+ "name": "John Smith's Crop",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "CORN123",
+ "phenotype": "Corn",
+ "name": "John Smith's Crop",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "CORN123",
+ "phenotype": "Corn",
+ "name": "John Smith's Crop",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_Delete.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_Delete.json
new file mode 100644
index 000000000000..a096ebe1f94b
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_Delete.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "cropId": "CORN123"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_Get.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_Get.json
new file mode 100644
index 000000000000..5caa58d6da6c
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "cropId": "CORN123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "CORN123",
+ "phenotype": "Corn",
+ "name": "John Smith's Crop",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_List.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_List.json
new file mode 100644
index 000000000000..54f133d7d4e3
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_List.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "CORN123",
+ "phenotype": "Corn",
+ "name": "John Smith's Crop",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https://{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/seasonalFields/{{seasonalFieldId}}?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7e23TRC%3a10%23ISA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/FarmOperations_CreateDataIngestionJob.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/FarmOperations_CreateDataIngestionJob.json
new file mode 100644
index 000000000000..163cbf16f9e4
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/FarmOperations_CreateDataIngestionJob.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "jobId": "JOB123",
+ "api-version": "2021-03-31-preview",
+ "body": {
+ "farmerId": "TEST-FARMER",
+ "authProviderId": "JOHNDEERE",
+ "operations": [
+ "AllOperations"
+ ],
+ "startYear": 2012,
+ "name": "Farm Operations Job",
+ "description": "For TEST-FARMER",
+ "properties": {
+ "Operation": "All"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "operations": [
+ "AllOperations"
+ ],
+ "startYear": 2012,
+ "durationInSeconds": 14.79,
+ "id": "sdi-0916aeec-ad8d-41d0-9797-63924f818cd7",
+ "status": "Waiting",
+ "message": "string",
+ "createdDateTime": "2021-03-15T07:14:14Z",
+ "lastActionDateTime": "2021-03-15T07:14:14Z",
+ "startTime": "2021-03-15T07:14:14Z",
+ "endTime": "2021-03-15T07:14:14Z",
+ "name": "Farm Operations Job",
+ "description": "For TEST-FARMER",
+ "properties": {
+ "Operation": "All"
+ },
+ "farmerId": "TEST-FARMER",
+ "authProviderId": "JOHNDEERE"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/FarmOperations_GetDataIngestionJobDetails.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/FarmOperations_GetDataIngestionJobDetails.json
new file mode 100644
index 000000000000..19947892604d
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/FarmOperations_GetDataIngestionJobDetails.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "jobId": "JOB123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "durationInSeconds": 11.2,
+ "id": "farm-operations-job",
+ "status": "Succeeded",
+ "message": "string",
+ "createdDateTime": "2021-04-16T08:24:50Z",
+ "lastActionDateTime": "2021-04-16T08:24:50Z",
+ "startTime": "2021-04-16T08:24:50Z",
+ "endTime": "2021-04-16T08:24:50Z",
+ "name": "Farm operations Job",
+ "description": "Test job",
+ "properties": {
+ "Region": "Asia"
+ },
+ "farmerId": "FARMER123",
+ "authProviderId": "JOHNDEERE",
+ "operations": [
+ "AllOperations"
+ ],
+ "startYear": 2012
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_CreateCascadeDeleteJob.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_CreateCascadeDeleteJob.json
new file mode 100644
index 000000000000..a7d2c1e25a5b
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_CreateCascadeDeleteJob.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "api-version": "2021-03-31-preview",
+ "jobId": "JOB123"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "id": "JOB123",
+ "status": "Succeeded",
+ "message": "Job completed successfully.",
+ "durationInSeconds": 14.7977857,
+ "createdDateTime": "2021-04-19T11:31:20Z",
+ "lastActionDateTime": "2021-04-19T11:31:34Z",
+ "startTime": "2021-04-19T11:31:19Z",
+ "endTime": "2021-04-19T11:31:34Z",
+ "farmerId": "FARMER123",
+ "resourceId": "FARMER123",
+ "resourceType": "farmer",
+ "name": "John Smith",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_CreateOrUpdate.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_CreateOrUpdate.json
new file mode 100644
index 000000000000..b0c8b228bc3b
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_CreateOrUpdate.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "api-version": "2021-03-31-preview",
+ "farmer": {
+ "status": "Active",
+ "name": "John Smith",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "FARMER123",
+ "name": "John Smith",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "FARMER123",
+ "name": "John Smith",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_Delete.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_Delete.json
new file mode 100644
index 000000000000..eaa1e89032a9
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_Delete.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_Get.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_Get.json
new file mode 100644
index 000000000000..606647a7877c
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_Get.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "FARMER123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "FARMER123",
+ "name": "John Smith",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_GetCascadeDeleteJobDetails.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_GetCascadeDeleteJobDetails.json
new file mode 100644
index 000000000000..fa3c14969a1d
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_GetCascadeDeleteJobDetails.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "jobId": "JOB123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "JOB123",
+ "status": "Succeeded",
+ "message": "Job completed successfully.",
+ "durationInSeconds": 14.7977857,
+ "createdDateTime": "2021-04-19T11:31:20Z",
+ "lastActionDateTime": "2021-04-19T11:31:34Z",
+ "startTime": "2021-04-19T11:31:19Z",
+ "endTime": "2021-04-19T11:31:34Z",
+ "name": "John Smith",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "farmerId": "FARMER123",
+ "resourceId": "FARMER123",
+ "resourceType": "farmer"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_List.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_List.json
new file mode 100644
index 000000000000..ddfbfa7bde25
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_List.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "FARMER123",
+ "name": "John Smith",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https://{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/seasonalFields/{{seasonalFieldId}}?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7e23TRC%3a10%23ISA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_CreateCascadeDeleteJob.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_CreateCascadeDeleteJob.json
new file mode 100644
index 000000000000..4a26aca784c9
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_CreateCascadeDeleteJob.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "farmId": "FARM123",
+ "api-version": "2021-03-31-preview",
+ "jobId": "JOB123"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "id": "JOB123",
+ "status": "Succeeded",
+ "message": "Job completed successfully.",
+ "durationInSeconds": 14.7977857,
+ "createdDateTime": "2021-04-19T11:31:20Z",
+ "lastActionDateTime": "2021-04-19T11:31:34Z",
+ "startTime": "2021-04-19T11:31:19Z",
+ "endTime": "2021-04-19T11:31:34Z",
+ "farmerId": "FARMER123",
+ "resourceId": "FARM123",
+ "resourceType": "farm",
+ "name": "John Smith's Field",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_CreateOrUpdate.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_CreateOrUpdate.json
new file mode 100644
index 000000000000..5f1bb2f459ef
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_CreateOrUpdate.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "farmId": "FARM123",
+ "api-version": "2021-03-31-preview",
+ "farm": {
+ "status": "Active",
+ "name": "John Smith's Farm",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "FARM123",
+ "farmerId": "FARMER123",
+ "name": "John Smith's Farm",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "FARM123",
+ "farmerId": "FARMER123",
+ "name": "John Smith's Farm",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_Delete.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_Delete.json
new file mode 100644
index 000000000000..36d748d9f396
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_Delete.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "farmId": "FARM123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_Get.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_Get.json
new file mode 100644
index 000000000000..d33a4ffeb592
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "FARMER123",
+ "farmId": "FARM123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "FARM123",
+ "farmerId": "FARMER123",
+ "name": "John Smith's Farm",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_GetCascadeDeleteJobDetails.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_GetCascadeDeleteJobDetails.json
new file mode 100644
index 000000000000..3721e59fb36c
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_GetCascadeDeleteJobDetails.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "jobId": "JOB123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "JOB123",
+ "status": "Succeeded",
+ "message": "Job completed successfully.",
+ "durationInSeconds": 14.7977857,
+ "createdDateTime": "2021-04-19T11:31:20Z",
+ "lastActionDateTime": "2021-04-19T11:31:34Z",
+ "startTime": "2021-04-19T11:31:19Z",
+ "endTime": "2021-04-19T11:31:34Z",
+ "name": "John Smith's Farm",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "farmerId": "FARMER123",
+ "resourceId": "FARM123",
+ "resourceType": "farm"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_List.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_List.json
new file mode 100644
index 000000000000..fc004b6a3578
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_List.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "FARM123",
+ "farmerId": "FARMER123",
+ "name": "John Smith's Farm",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https://{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/seasonalFields/{{seasonalFieldId}}?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7e23TRC%3a10%23ISA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_ListByFarmerId.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_ListByFarmerId.json
new file mode 100644
index 000000000000..79b77c8abd9e
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_ListByFarmerId.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "FARM123",
+ "farmerId": "FARMER123",
+ "name": "John Smith's Farm",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https://{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/seasonalFields/{{seasonalFieldId}}?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7e23TRC%3a10%23ISA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_CreateCascadeDeleteJob.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_CreateCascadeDeleteJob.json
new file mode 100644
index 000000000000..3db893452b2a
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_CreateCascadeDeleteJob.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "fieldId": "FIELD123",
+ "api-version": "2021-03-31-preview",
+ "jobId": "JOB123"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "id": "JOB123",
+ "status": "Succeeded",
+ "message": "Job completed successfully.",
+ "durationInSeconds": 14.7977857,
+ "createdDateTime": "2021-04-19T11:31:20Z",
+ "lastActionDateTime": "2021-04-19T11:31:34Z",
+ "startTime": "2021-04-19T11:31:19Z",
+ "endTime": "2021-04-19T11:31:34Z",
+ "farmerId": "FARMER123",
+ "resourceId": "FIELD123",
+ "resourceType": "field",
+ "name": "John Smith's Field",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_CreateOrUpdate.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_CreateOrUpdate.json
new file mode 100644
index 000000000000..3cdb24e13c4c
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_CreateOrUpdate.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "fieldId": "FIELD123",
+ "api-version": "2021-03-31-preview",
+ "field": {
+ "farmId": "FARM123",
+ "status": "Active",
+ "name": "John Smith's Field",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "FIELD123",
+ "farmerId": "FARMER123",
+ "farmId": "FARM123",
+ "primaryBoundaryId": "BOUNDARY123",
+ "boundaryIds": [
+ "BOUNDARY123",
+ "BOUNDARY456"
+ ],
+ "name": "John Smith's Field",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "FIELD123",
+ "farmerId": "FARMER123",
+ "farmId": "FARM123",
+ "primaryBoundaryId": "BOUNDARY123",
+ "boundaryIds": [
+ "BOUNDARY123",
+ "BOUNDARY456"
+ ],
+ "name": "John Smith's Field",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_Delete.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_Delete.json
new file mode 100644
index 000000000000..c47512aa50af
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_Delete.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "fieldId": "FIELD123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_Get.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_Get.json
new file mode 100644
index 000000000000..da17b84a03ac
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_Get.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "FARMER123",
+ "fieldId": "FIELD123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "FIELD123",
+ "farmerId": "FARMER123",
+ "farmId": "FARM123",
+ "primaryBoundaryId": "BOUNDARY123",
+ "boundaryIds": [
+ "BOUNDARY123",
+ "BOUNDARY456"
+ ],
+ "name": "John Smith's Field",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_GetCascadeDeleteJobDetails.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_GetCascadeDeleteJobDetails.json
new file mode 100644
index 000000000000..fe5878968de1
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_GetCascadeDeleteJobDetails.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "jobId": "JOB123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "JOB123",
+ "status": "Succeeded",
+ "message": "Job completed successfully.",
+ "durationInSeconds": 14.7977857,
+ "createdDateTime": "2021-04-19T11:31:20Z",
+ "lastActionDateTime": "2021-04-19T11:31:34Z",
+ "startTime": "2021-04-19T11:31:19Z",
+ "endTime": "2021-04-19T11:31:34Z",
+ "name": "John Smith's Field",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "farmerId": "FARMER123",
+ "resourceId": "FIELD123",
+ "resourceType": "field"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_List.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_List.json
new file mode 100644
index 000000000000..4978fe7edd6e
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_List.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "FIELD123",
+ "farmerId": "FARMER123",
+ "farmId": "FARM123",
+ "primaryBoundaryId": "BOUNDARY123",
+ "boundaryIds": [
+ "BOUNDARY123",
+ "BOUNDARY456"
+ ],
+ "name": "John Smith's Field",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https://{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/seasonalFields/{{seasonalFieldId}}?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7e23TRC%3a10%23ISA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_ListByFarmerId.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_ListByFarmerId.json
new file mode 100644
index 000000000000..bf218911d277
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_ListByFarmerId.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "FIELD123",
+ "farmerId": "FARMER123",
+ "farmId": "FARM123",
+ "primaryBoundaryId": "BOUNDARY123",
+ "boundaryIds": [
+ "BOUNDARY123",
+ "BOUNDARY456"
+ ],
+ "name": "John Smith's Field",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https://{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/seasonalFields/{{seasonalFieldId}}?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7e23TRC%3a10%23ISA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_CreateOrUpdate.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_CreateOrUpdate.json
new file mode 100644
index 000000000000..1b81b715ffee
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_CreateOrUpdate.json
@@ -0,0 +1,242 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "FARMER123",
+ "harvestDataId": "HARVESTOP123",
+ "harvestData": {
+ "source": "Manual",
+ "name": "Harvest data for North Farm",
+ "description": "some description",
+ "status": "Active",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationBoundaryId": "HARVESTOPBOUNDARY1",
+ "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
+ "area": {
+ "unit": "acre",
+ "value": 50
+ },
+ "totalYield": {
+ "unit": "kilos",
+ "value": 1400
+ },
+ "avgYield": {
+ "unit": "kilosperacre",
+ "value": 28
+ },
+ "totalWetMass": {
+ "unit": "kilos",
+ "value": 500
+ },
+ "avgWetMass": {
+ "unit": "kilosperacre",
+ "value": 10
+ },
+ "avgMoisture": {
+ "unit": "percent",
+ "value": 14.61
+ },
+ "avgSpeed": {
+ "unit": "kmsperhour",
+ "value": 7.2
+ },
+ "harvestProductDetails": [
+ {
+ "productName": "VAR1",
+ "area": {
+ "unit": "acre",
+ "value": 30
+ },
+ "totalYield": {
+ "unit": "kilos",
+ "value": 900
+ },
+ "avgYield": {
+ "unit": "kilosperacre",
+ "value": 30
+ },
+ "totalWetMass": {
+ "unit": "kilos",
+ "value": 300
+ },
+ "avgWetMass": {
+ "unit": "kilosperacre",
+ "value": 10
+ },
+ "avgMoisture": {
+ "unit": "percent",
+ "value": 16.4
+ }
+ }
+ ],
+ "properties": {
+ "Region": "Europe",
+ "CountyCode": 123
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "farmerId": "FARMER123",
+ "id": "HARVESTOP123",
+ "source": "Manual",
+ "name": "Harvest data for North Farm",
+ "description": "some description",
+ "status": "Active",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "operationModifiedDateTime": "2021-02-28T10:12:12Z",
+ "operationBoundaryId": "HARVESTOPBOUNDARY1",
+ "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
+ "area": {
+ "unit": "acre",
+ "value": 50
+ },
+ "totalYield": {
+ "unit": "kilos",
+ "value": 1400
+ },
+ "avgYield": {
+ "unit": "kilosperacre",
+ "value": 28
+ },
+ "totalWetMass": {
+ "unit": "kilos",
+ "value": 500
+ },
+ "avgWetMass": {
+ "unit": "kilosperacre",
+ "value": 10
+ },
+ "avgMoisture": {
+ "unit": "percent",
+ "value": 14.61
+ },
+ "avgSpeed": {
+ "unit": "kmsperhour",
+ "value": 7.2
+ },
+ "harvestProductDetails": [
+ {
+ "productName": "VAR1",
+ "area": {
+ "unit": "acre",
+ "value": 30
+ },
+ "totalYield": {
+ "unit": "kilos",
+ "value": 900
+ },
+ "avgYield": {
+ "unit": "kilosperacre",
+ "value": 30
+ },
+ "totalWetMass": {
+ "unit": "kilos",
+ "value": 300
+ },
+ "avgWetMass": {
+ "unit": "kilosperacre",
+ "value": 10
+ },
+ "avgMoisture": {
+ "unit": "percent",
+ "value": 16.4
+ }
+ }
+ ],
+ "properties": {
+ "Region": "Europe",
+ "CountyCode": 123
+ },
+ "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{harvestDataId}}&resourceTypes=HarvestData",
+ "createdDateTime": "2021-02-29T04:57:04Z",
+ "modifiedDateTime": "2021-03-08T18:22:07Z",
+ "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
+ }
+ },
+ "201": {
+ "body": {
+ "farmerId": "FARMER123",
+ "id": "HARVESTOP123",
+ "source": "Manual",
+ "name": "Harvest data for North Farm",
+ "description": "some description",
+ "status": "Active",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "operationModifiedDateTime": "2021-02-28T10:12:12Z",
+ "operationBoundaryId": "HARVESTOPBOUNDARY1",
+ "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
+ "area": {
+ "unit": "acre",
+ "value": 50
+ },
+ "totalYield": {
+ "unit": "kilos",
+ "value": 1400
+ },
+ "avgYield": {
+ "unit": "kilosperacre",
+ "value": 28
+ },
+ "totalWetMass": {
+ "unit": "kilos",
+ "value": 500
+ },
+ "avgWetMass": {
+ "unit": "kilosperacre",
+ "value": 10
+ },
+ "avgMoisture": {
+ "unit": "percent",
+ "value": 14.61
+ },
+ "avgSpeed": {
+ "unit": "kmsperhour",
+ "value": 7.2
+ },
+ "harvestProductDetails": [
+ {
+ "productName": "VAR1",
+ "area": {
+ "unit": "acre",
+ "value": 30
+ },
+ "totalYield": {
+ "unit": "kilos",
+ "value": 900
+ },
+ "avgYield": {
+ "unit": "kilosperacre",
+ "value": 30
+ },
+ "totalWetMass": {
+ "unit": "kilos",
+ "value": 300
+ },
+ "avgWetMass": {
+ "unit": "kilosperacre",
+ "value": 10
+ },
+ "avgMoisture": {
+ "unit": "percent",
+ "value": 16.4
+ }
+ }
+ ],
+ "properties": {
+ "Region": "Europe",
+ "CountyCode": 123
+ },
+ "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{harvestDataId}}&resourceTypes=HarvestData",
+ "createdDateTime": "2021-02-29T04:57:04Z",
+ "modifiedDateTime": "2021-03-08T18:22:07Z",
+ "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_Delete.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_Delete.json
new file mode 100644
index 000000000000..88c5785f4045
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_Delete.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "FARMER123",
+ "harvestDataId": "HARVESTOP123"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_Get.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_Get.json
new file mode 100644
index 000000000000..caae9cb85c56
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_Get.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "FARMER123",
+ "harvestDataId": "HARVESTOP123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "farmerId": "FARMER123",
+ "id": "HARVESTOP123",
+ "source": "Manual",
+ "name": "Harvest data for North Farm",
+ "description": "some description",
+ "status": "Active",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "operationModifiedDateTime": "2021-02-28T10:12:12Z",
+ "operationBoundaryId": "HARVESTOPBOUNDARY1",
+ "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
+ "area": {
+ "unit": "acre",
+ "value": 50
+ },
+ "totalYield": {
+ "unit": "kilos",
+ "value": 1400
+ },
+ "avgYield": {
+ "unit": "kilosperacre",
+ "value": 28
+ },
+ "totalWetMass": {
+ "unit": "kilos",
+ "value": 500
+ },
+ "avgWetMass": {
+ "unit": "kilosperacre",
+ "value": 10
+ },
+ "avgMoisture": {
+ "unit": "percent",
+ "value": 14.61
+ },
+ "avgSpeed": {
+ "unit": "kmsperhour",
+ "value": 7.2
+ },
+ "harvestProductDetails": [
+ {
+ "productName": "VAR1",
+ "area": {
+ "unit": "acre",
+ "value": 30
+ },
+ "totalYield": {
+ "unit": "kilos",
+ "value": 900
+ },
+ "avgYield": {
+ "unit": "kilosperacre",
+ "value": 30
+ },
+ "totalWetMass": {
+ "unit": "kilos",
+ "value": 300
+ },
+ "avgWetMass": {
+ "unit": "kilosperacre",
+ "value": 10
+ },
+ "avgMoisture": {
+ "unit": "percent",
+ "value": 16.4
+ }
+ }
+ ],
+ "properties": {
+ "Region": "Europe",
+ "CountyCode": 123
+ },
+ "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{harvestDataId}}&resourceTypes=HarvestData",
+ "createdDateTime": "2021-02-29T04:57:04Z",
+ "modifiedDateTime": "2021-03-08T18:22:07Z",
+ "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_List.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_List.json
new file mode 100644
index 000000000000..7eecebcce739
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_List.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "farmerId": "FARMER123",
+ "id": "HARVESTOP123",
+ "source": "Manual",
+ "name": "Harvest data for North Farm",
+ "description": "some description",
+ "status": "Active",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationBoundaryId": "HARVESTOPBOUNDARY1",
+ "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
+ "area": {
+ "unit": "acre",
+ "value": 50
+ },
+ "totalYield": {
+ "unit": "kilos",
+ "value": 1400
+ },
+ "avgYield": {
+ "unit": "kilosperacre",
+ "value": 28
+ },
+ "totalWetMass": {
+ "unit": "kilos",
+ "value": 500
+ },
+ "avgWetMass": {
+ "unit": "kilosperacre",
+ "value": 10
+ },
+ "avgMoisture": {
+ "unit": "percent",
+ "value": 14.61
+ },
+ "avgSpeed": {
+ "unit": "kmsperhour",
+ "value": 7.2
+ },
+ "harvestProductDetails": [
+ {
+ "productName": "VAR1",
+ "area": {
+ "unit": "acre",
+ "value": 30
+ },
+ "totalYield": {
+ "unit": "kilos",
+ "value": 900
+ },
+ "avgYield": {
+ "unit": "kilosperacre",
+ "value": 30
+ },
+ "totalWetMass": {
+ "unit": "kilos",
+ "value": 300
+ },
+ "avgWetMass": {
+ "unit": "kilosperacre",
+ "value": 10
+ },
+ "avgMoisture": {
+ "unit": "percent",
+ "value": 16.4
+ }
+ }
+ ],
+ "properties": {
+ "Region": "Europe",
+ "CountyCode": 123
+ },
+ "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{harvestDataId}}&resourceTypes=HarvestData",
+ "createdDateTime": "2021-02-29T04:57:04Z",
+ "modifiedDateTime": "2021-03-08T18:22:07Z",
+ "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https:/{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/harvestData?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7ehK8eAKzdo1MNnwcAAAAAAA%3d%3d%23RT%3a1%23TRC%3a10%23ISV%3a2%23IEO%3a65551%23FPC%3aAQ2fBwAAAAAAD58HAAAAAAA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_ListByFarmerId.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_ListByFarmerId.json
new file mode 100644
index 000000000000..fdab67c54d14
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_ListByFarmerId.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "FARMER123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "farmerId": "FARMER123",
+ "id": "HARVESTOP123",
+ "source": "Manual",
+ "name": "Harvest data for North Farm",
+ "description": "some description",
+ "status": "Active",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "operationModifiedDateTime": "2021-02-28T10:12:12Z",
+ "operationBoundaryId": "HARVESTOPBOUNDARY1",
+ "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
+ "area": {
+ "unit": "acre",
+ "value": 50
+ },
+ "totalYield": {
+ "unit": "kilos",
+ "value": 1400
+ },
+ "avgYield": {
+ "unit": "kilosperacre",
+ "value": 28
+ },
+ "totalWetMass": {
+ "unit": "kilos",
+ "value": 500
+ },
+ "avgWetMass": {
+ "unit": "kilosperacre",
+ "value": 10
+ },
+ "avgMoisture": {
+ "unit": "percent",
+ "value": 14.61
+ },
+ "avgSpeed": {
+ "unit": "kmsperhour",
+ "value": 7.2
+ },
+ "harvestProductDetails": [
+ {
+ "productName": "VAR1",
+ "area": {
+ "unit": "acre",
+ "value": 30
+ },
+ "totalYield": {
+ "unit": "kilos",
+ "value": 900
+ },
+ "avgYield": {
+ "unit": "kilosperacre",
+ "value": 30
+ },
+ "totalWetMass": {
+ "unit": "kilos",
+ "value": 300
+ },
+ "avgWetMass": {
+ "unit": "kilosperacre",
+ "value": 10
+ },
+ "avgMoisture": {
+ "unit": "percent",
+ "value": 16.4
+ }
+ }
+ ],
+ "properties": {
+ "Region": "Europe",
+ "CountyCode": 123
+ },
+ "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{harvestDataId}}&resourceTypes=HarvestData",
+ "createdDateTime": "2021-02-29T04:57:04Z",
+ "modifiedDateTime": "2021-03-08T18:22:07Z",
+ "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https:/{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/harvestData?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7ehK8eAKzdo1MNnwcAAAAAAA%3d%3d%23RT%3a1%23TRC%3a10%23ISV%3a2%23IEO%3a65551%23FPC%3aAQ2fBwAAAAAAD58HAAAAAAA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ImageProcessing_CreateRasterizeJob.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ImageProcessing_CreateRasterizeJob.json
new file mode 100644
index 000000000000..b3dc595eb9bd
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ImageProcessing_CreateRasterizeJob.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "jobId": "JOB123",
+ "api-version": "2021-03-31-preview",
+ "body": {
+ "farmerId": "test_farmer",
+ "shapefileAttachmentId": "harvesting_data_shapefile123",
+ "shapefileColumnNames": [
+ "Wet_yield",
+ "Dry_yield"
+ ],
+ "name": "Harvest_Data_Rasterize_Job",
+ "description": "Rasterize harvest data shape file",
+ "properties": {
+ "region": "Asia"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "durationInSeconds": 12.4,
+ "id": "weather-job",
+ "status": "Waiting",
+ "message": "Created job to fetch weather data for job name 'TestWeatherJob', farmer id 'test_farmer' and field id 'test_field'.",
+ "createdDateTime": "2021-04-16T11:33:45Z",
+ "lastActionDateTime": "2021-04-16T11:33:45Z",
+ "startTime": "2021-04-16T11:33:45Z",
+ "endTime": "2021-04-16T11:33:45Z",
+ "farmerId": "test_farmer",
+ "shapefileAttachmentId": "harvesting_data_shapefile123",
+ "shapefileColumnNames": [
+ "Wet_yield",
+ "Dry_yield"
+ ],
+ "name": "Harvest_Data_Rasterize_Job",
+ "description": "Rasterize harvest data shape file",
+ "properties": {
+ "region": "Asia"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ImageProcessing_GetRasterizeJob.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ImageProcessing_GetRasterizeJob.json
new file mode 100644
index 000000000000..62face2583c2
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ImageProcessing_GetRasterizeJob.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "jobId": "JOB123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "durationInSeconds": 12.4,
+ "id": "weather-job",
+ "status": "Succeeded",
+ "message": "Weather data is available for startTime to endTime",
+ "createdDateTime": "2021-04-16T08:24:50Z",
+ "lastActionDateTime": "2021-04-16T08:24:50Z",
+ "startTime": "2021-04-16T08:24:50Z",
+ "endTime": "2021-04-16T08:24:50Z",
+ "farmerId": "test_farmer",
+ "shapefileAttachmentId": "harvesting_data_shapefile123",
+ "shapefileColumnNames": [
+ "Wet_yield",
+ "Dry_yield"
+ ],
+ "name": "Harvest_Data_Rasterize_Job",
+ "description": "Rasterize harvest data shape file",
+ "properties": {
+ "region": "Asia"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_CreateOrUpdate.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_CreateOrUpdate.json
new file mode 100644
index 000000000000..80139cdbf05e
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_CreateOrUpdate.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "oauthProviderId": "JOHNDEERE",
+ "api-version": "2021-03-31-preview",
+ "oauthProvider": {
+ "appId": "appId",
+ "appSecret": "appSecret",
+ "apiKey": "apiKey",
+ "isProductionApp": false,
+ "name": "JOHNDEERE",
+ "description": "some description",
+ "properties": {
+ "orgId": "ORG123"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "JOHNDEERE",
+ "appId": "appId",
+ "appSecret": "appSecret",
+ "apiKey": "apiKey",
+ "isProductionApp": false,
+ "name": "JOHNDEERE",
+ "description": "some description",
+ "properties": {
+ "orgId": "ORG123"
+ },
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e",
+ "createdDateTime": "2021-04-23T11:31:10Z",
+ "modifiedDateTime": "2021-04-23T11:31:10Z"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "JOHNDEERE",
+ "appId": "appId",
+ "appSecret": "appSecret",
+ "apiKey": "apiKey",
+ "isProductionApp": false,
+ "name": "JOHNDEERE",
+ "description": "some description",
+ "properties": {
+ "orgId": "ORG123"
+ },
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e",
+ "createdDateTime": "2021-04-23T11:31:10Z",
+ "modifiedDateTime": "2021-04-23T11:31:10Z"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_Delete.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_Delete.json
new file mode 100644
index 000000000000..3a02f6d27ae6
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_Delete.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "oauthProviderId": "JOHNDEERE",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_Get.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_Get.json
new file mode 100644
index 000000000000..994c7a7013be
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "oauthProviderId": "JOHNDEERE",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "appId": "appId",
+ "appSecret": "appSecret",
+ "apiKey": "apiKey",
+ "isProductionApp": false,
+ "id": "JOHNDEERE",
+ "eTag": "f8fad5b-d9cb-469f-a165-70867728950e",
+ "createdDateTime": "2021-04-22T18:27:37Z",
+ "modifiedDateTime": "2021-04-22T18:27:37Z",
+ "name": "JD Integration",
+ "description": "Oauth Flow",
+ "properties": {
+ "Farmer": "123"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_List.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_List.json
new file mode 100644
index 000000000000..3777236bf4b3
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_List.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "appId": "appId",
+ "appSecret": "appSecret",
+ "apiKey": "apiKey",
+ "isProductionApp": false,
+ "id": "JOHNDEERE",
+ "eTag": "f8fad5b-d9cb-469f-a165-70867728950e",
+ "createdDateTime": "2021-04-22T18:27:37Z",
+ "modifiedDateTime": "2021-04-22T18:27:37Z",
+ "name": "JD Integration",
+ "description": "Oauth Flow",
+ "properties": {
+ "Farmer": "123"
+ }
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https://{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/seasonalFields/{{seasonalFieldId}}?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7e23TRC%3a10%23ISA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_CreateCascadeDeleteJob.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_CreateCascadeDeleteJob.json
new file mode 100644
index 000000000000..65800d1eba15
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_CreateCascadeDeleteJob.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "jobId": "JOBID123",
+ "farmerId": "FARMER123",
+ "oauthProviderId": "JOHNDEERE",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "farmerId": "FARMER123",
+ "resourceId": "JOHNDEERE",
+ "resourceType": "oauthtokeninfo",
+ "id": "JOBID123",
+ "status": "Waiting",
+ "message": "Created cascade delete job for 'oauthtokeninfo' resource with id 'JOHNDEERE' and farmerId 'FARMER123'.",
+ "createdDateTime": "2021-05-13T20:04:39Z",
+ "lastActionDateTime": "2021-05-13T20:04:39Z",
+ "startTime": "2021-05-13T20:04:37Z"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_GetCascadeDeleteJobDetails.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_GetCascadeDeleteJobDetails.json
new file mode 100644
index 000000000000..9a263d908ddf
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_GetCascadeDeleteJobDetails.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "jobId": "JOBID123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "farmerId": "FARMER123",
+ "resourceId": "JOHNDEERE",
+ "resourceType": "oauthtokeninfo",
+ "id": "JOBID123",
+ "status": "Waiting",
+ "message": "Created cascade delete job for 'oauthtokeninfo' resource with id 'JOHNDEERE' and farmerId 'FARMER123'.",
+ "createdDateTime": "2021-05-13T20:04:39Z",
+ "lastActionDateTime": "2021-05-13T20:04:39Z",
+ "startTime": "2021-05-13T20:04:37Z"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_GetOAuthConnectionLink.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_GetOAuthConnectionLink.json
new file mode 100644
index 000000000000..31c435205661
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_GetOAuthConnectionLink.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "body": {
+ "farmerId": "FARMER123",
+ "oAuthProviderId": "JOHNDEERE",
+ "userRedirectLink": "https://docs.microsoft.com",
+ "userRedirectState": "code"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": "Connection string"
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_List.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_List.json
new file mode 100644
index 000000000000..7ccb4143441b
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_List.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "farmerId": "FARMER123",
+ "authProviderId": "JOHNDEERE",
+ "isValid": true,
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e",
+ "createdDateTime": "2021-04-22T18:49:25Z",
+ "modifiedDateTime": "2021-04-22T18:49:25Z"
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https://{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/seasonalFields/{{seasonalFieldId}}?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7e23TRC%3a10%23ISA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_CreateOrUpdate.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_CreateOrUpdate.json
new file mode 100644
index 000000000000..3c9dad916c1e
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_CreateOrUpdate.json
@@ -0,0 +1,170 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "FARMER123",
+ "plantingDataId": "PLANTINGOP123",
+ "plantingData": {
+ "source": "Manual",
+ "name": "Planting data for North Farm",
+ "description": "some description",
+ "status": "Active",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationBoundaryId": "PLANTINGOPBOUNDARY1",
+ "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
+ "avgPlantingRate": {
+ "unit": "seedsperacre",
+ "value": 30
+ },
+ "area": {
+ "unit": "acre",
+ "value": 30
+ },
+ "totalMaterial": {
+ "unit": "seeds",
+ "value": 758814
+ },
+ "avgMaterial": {
+ "unit": "seedsperacre",
+ "value": 25293
+ },
+ "plantingProductDetails": [
+ {
+ "productName": "VAR1",
+ "area": {
+ "unit": "acre",
+ "value": 20
+ },
+ "totalMaterial": {
+ "unit": "seeds",
+ "value": 389214
+ },
+ "avgMaterial": {
+ "unit": "seedsperacre",
+ "value": 19460
+ }
+ }
+ ],
+ "properties": {
+ "Region": "Europe",
+ "CountyCode": 123
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "farmerId": "FARMER123",
+ "id": "PLANTINGOP123",
+ "source": "Manual",
+ "name": "Planting data for North Farm",
+ "description": "some description",
+ "status": "Active",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationBoundaryId": "PLANTINGOPBOUNDARY1",
+ "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
+ "avgPlantingRate": {
+ "unit": "seedsperacre",
+ "value": 30
+ },
+ "area": {
+ "unit": "acre",
+ "value": 30
+ },
+ "totalMaterial": {
+ "unit": "seeds",
+ "value": 758814
+ },
+ "avgMaterial": {
+ "unit": "seedsperacre",
+ "value": 25293
+ },
+ "plantingProductDetails": [
+ {
+ "productName": "VAR1",
+ "area": {
+ "unit": "acre",
+ "value": 20
+ },
+ "totalMaterial": {
+ "unit": "seeds",
+ "value": 389214
+ },
+ "avgMaterial": {
+ "unit": "seedsperacre",
+ "value": 19460
+ }
+ }
+ ],
+ "properties": {
+ "Region": "Europe",
+ "CountyCode": 123
+ },
+ "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{plantingDataId}}&resourceTypes=PlantingData",
+ "createdDateTime": "2021-02-29T04:57:04Z",
+ "modifiedDateTime": "2021-03-08T18:22:07Z",
+ "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
+ }
+ },
+ "201": {
+ "body": {
+ "farmerId": "FARMER123",
+ "id": "PLANTINGOP123",
+ "source": "Manual",
+ "name": "Planting data for North Farm",
+ "description": "some description",
+ "status": "Active",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationBoundaryId": "PLANTINGOPBOUNDARY1",
+ "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
+ "avgPlantingRate": {
+ "unit": "seedsperacre",
+ "value": 30
+ },
+ "area": {
+ "unit": "acre",
+ "value": 30
+ },
+ "totalMaterial": {
+ "unit": "seeds",
+ "value": 758814
+ },
+ "avgMaterial": {
+ "unit": "seedsperacre",
+ "value": 25293
+ },
+ "plantingProductDetails": [
+ {
+ "productName": "VAR1",
+ "area": {
+ "unit": "acre",
+ "value": 20
+ },
+ "totalMaterial": {
+ "unit": "seeds",
+ "value": 389214
+ },
+ "avgMaterial": {
+ "unit": "seedsperacre",
+ "value": 19460
+ }
+ }
+ ],
+ "properties": {
+ "Region": "Europe",
+ "CountyCode": 123
+ },
+ "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{plantingDataId}}&resourceTypes=PlantingData",
+ "createdDateTime": "2021-02-29T04:57:04Z",
+ "modifiedDateTime": "2021-03-08T18:22:07Z",
+ "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_Delete.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_Delete.json
new file mode 100644
index 000000000000..8b17313f1110
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_Delete.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "FARMER123",
+ "plantingDataId": "PLANTINGOP123"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_Get.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_Get.json
new file mode 100644
index 000000000000..155712c370fd
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_Get.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "FARMER123",
+ "plantingDataId": "PLANTINGOP123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "farmerId": "FARMER123",
+ "id": "PLANTINGOP123",
+ "source": "Manual",
+ "name": "Planting data for North Farm",
+ "description": "some description",
+ "status": "Active",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationBoundaryId": "PLANTINGOPBOUNDARY1",
+ "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
+ "avgPlantingRate": {
+ "unit": "seedsperacre",
+ "value": 30
+ },
+ "area": {
+ "unit": "acre",
+ "value": 30
+ },
+ "totalMaterial": {
+ "unit": "seeds",
+ "value": 758814
+ },
+ "avgMaterial": {
+ "unit": "seedsperacre",
+ "value": 25293
+ },
+ "plantingProductDetails": [
+ {
+ "productName": "VAR1",
+ "area": {
+ "unit": "acre",
+ "value": 20
+ },
+ "totalMaterial": {
+ "unit": "seeds",
+ "value": 389214
+ },
+ "avgMaterial": {
+ "unit": "seedsperacre",
+ "value": 19460
+ }
+ }
+ ],
+ "properties": {
+ "Region": "Europe",
+ "CountyCode": 123
+ },
+ "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{plantingDataId}}&resourceTypes=PlantingData",
+ "createdDateTime": "2021-02-29T04:57:04Z",
+ "modifiedDateTime": "2021-03-08T18:22:07Z",
+ "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_List.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_List.json
new file mode 100644
index 000000000000..b6c59eaee01a
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_List.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "farmerId": "FARMER123",
+ "id": "PLANTINGOP123",
+ "source": "Manual",
+ "name": "Planting data for North Farm",
+ "description": "some description",
+ "status": "Active",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationBoundaryId": "PLANTINGOPBOUNDARY1",
+ "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
+ "avgPlantingRate": {
+ "unit": "seedsperacre",
+ "value": 30
+ },
+ "area": {
+ "unit": "acre",
+ "value": 30
+ },
+ "totalMaterial": {
+ "unit": "seeds",
+ "value": 758814
+ },
+ "avgMaterial": {
+ "unit": "seedsperacre",
+ "value": 25293
+ },
+ "plantingProductDetails": [
+ {
+ "productName": "VAR1",
+ "area": {
+ "unit": "acre",
+ "value": 20
+ },
+ "totalMaterial": {
+ "unit": "seeds",
+ "value": 389214
+ },
+ "avgMaterial": {
+ "unit": "seedsperacre",
+ "value": 19460
+ }
+ }
+ ],
+ "properties": {
+ "Region": "Europe",
+ "CountyCode": 123
+ },
+ "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{plantingDataId}}&resourceTypes=PlantingData",
+ "createdDateTime": "2021-02-29T04:57:04Z",
+ "modifiedDateTime": "2021-03-08T18:22:07Z",
+ "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https:/{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/plantingData?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7ehK8eAKzdo1MNnwcAAAAAAA%3d%3d%23RT%3a1%23TRC%3a10%23ISV%3a2%23IEO%3a65551%23FPC%3aAQ2fBwAAAAAAD58HAAAAAAA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_ListByFarmerId.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_ListByFarmerId.json
new file mode 100644
index 000000000000..7bb636bba095
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_ListByFarmerId.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "FARMER123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "farmerId": "FARMER123",
+ "id": "PLANTINGOP123",
+ "source": "Manual",
+ "name": "Planting data for North Farm",
+ "description": "some description",
+ "status": "Active",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationBoundaryId": "PLANTINGOPBOUNDARY1",
+ "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
+ "avgPlantingRate": {
+ "unit": "seedsperacre",
+ "value": 30
+ },
+ "area": {
+ "unit": "acre",
+ "value": 30
+ },
+ "totalMaterial": {
+ "unit": "seeds",
+ "value": 758814
+ },
+ "avgMaterial": {
+ "unit": "seedsperacre",
+ "value": 25293
+ },
+ "plantingProductDetails": [
+ {
+ "productName": "VAR1",
+ "area": {
+ "unit": "acre",
+ "value": 20
+ },
+ "totalMaterial": {
+ "unit": "seeds",
+ "value": 389214
+ },
+ "avgMaterial": {
+ "unit": "seedsperacre",
+ "value": 19460
+ }
+ }
+ ],
+ "properties": {
+ "Region": "Europe",
+ "CountyCode": 123
+ },
+ "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{plantingDataId}}&resourceTypes=PlantingData",
+ "createdDateTime": "2021-02-29T04:57:04Z",
+ "modifiedDateTime": "2021-03-08T18:22:07Z",
+ "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https:/{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/plantingData?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7ehK8eAKzdo1MNnwcAAAAAAA%3d%3d%23RT%3a1%23TRC%3a10%23ISV%3a2%23IEO%3a65551%23FPC%3aAQ2fBwAAAAAAD58HAAAAAAA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_CreateSatelliteDataIngestionJob.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_CreateSatelliteDataIngestionJob.json
new file mode 100644
index 000000000000..3e97b7391d97
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_CreateSatelliteDataIngestionJob.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "jobId": "JOB123",
+ "api-version": "2021-03-31-preview",
+ "body": {
+ "boundaryId": "BOUNDARY123",
+ "farmerId": "FARMER123",
+ "startDateTime": "2020-04-16T10:14:12Z",
+ "endDateTime": "2021-04-16T10:14:12Z",
+ "provider": "Microsoft",
+ "source": "Sentinel_2_L2A",
+ "name": "North Farm 2019 satellite imagery",
+ "description": "Test job",
+ "data": {
+ "imageFormats": [
+ "Tif"
+ ],
+ "imageNames": [
+ "NDVI"
+ ],
+ "imageResolutions": [
+ 10.0
+ ]
+ },
+ "properties": {
+ "Region": "Asia"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "durationInSeconds": 12.4,
+ "id": "satellite-job",
+ "status": "Created",
+ "message": "Created job 'satellite-job' to fetch satellite data for boundary 'BOUNDARY123' for startDate '01/01/2019 00:00:00' and endDate '03/30/2019 00:00:00' (both inclusive)",
+ "createdDateTime": "2021-04-16T07:56:05Z",
+ "lastActionDateTime": "2021-04-16T07:56:05Z",
+ "startDateTime": "2021-04-16T07:56:05Z",
+ "endDateTime": "2021-04-16T07:56:05Z",
+ "farmerId": "FARMER123",
+ "boundaryId": "BOUNDARY123",
+ "name": "North Farm 2019 satellite imagery",
+ "description": "Test job",
+ "properties": {
+ "Region": "Asia"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_Download.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_Download.json
new file mode 100644
index 000000000000..0fe996302727
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_Download.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "filePath": "https://filePath",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": "101010101"
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_GetSatelliteDataIngestionJobDetails.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_GetSatelliteDataIngestionJobDetails.json
new file mode 100644
index 000000000000..07ac177ebd7d
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_GetSatelliteDataIngestionJobDetails.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "jobId": "JOB123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "durationInSeconds": 12.4,
+ "id": "satellite-job",
+ "status": "Succeeded",
+ "message": "Satellite data is available for 73 days from provider in the requested date range. Successfully fetched data for 73 days.",
+ "createdDateTime": "2021-04-16T08:24:50Z",
+ "lastActionDateTime": "2021-04-16T08:24:50Z",
+ "startTime": "2021-04-16T08:24:50Z",
+ "endTime": "2021-04-16T08:24:50Z",
+ "name": "North Farm 2019 satellite imagery",
+ "description": "Test job",
+ "properties": {
+ "Region": "Asia"
+ },
+ "boundaryId": "BOUNDARY123",
+ "farmerId": "FARMER123",
+ "startDateTime": "2020-04-16T10:14:12Z",
+ "endDateTime": "2021-04-16T10:14:12Z",
+ "provider": "Microsoft",
+ "source": "Sentinel_2_L2A",
+ "data": {
+ "imageFormats": [
+ "Tif"
+ ],
+ "imageNames": [
+ "NDVI"
+ ],
+ "imageResolutions": [
+ 10.0
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_List.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_List.json
new file mode 100644
index 000000000000..cd555fe0682f
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_List.json
@@ -0,0 +1,142 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "provider": "Microsoft",
+ "farmerId": "FARMER123",
+ "boundaryId": "BOUNDARY123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "400e200f-ccc4-0cea-c120-3fdc6a41f99f",
+ "sceneDateTime": "2019-01-27T00:00:00Z",
+ "boundaryId": "BOUNDARY123",
+ "farmerId": "FARMER123",
+ "provider": "Microsoft",
+ "source": "Sentinel_2_L2A",
+ "cloudCoverPercentage": 67.2,
+ "darkPixelPercentage": 2.4,
+ "imageFormat": "TIF",
+ "imageFiles": [
+ {
+ "name": "B08",
+ "resolution": 10.0,
+ "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/b08_10.tif"
+ },
+ {
+ "name": "B03",
+ "resolution": 10.0,
+ "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/b03_10.tif"
+ },
+ {
+ "name": "B11",
+ "resolution": 10.0,
+ "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/b11_10.tif"
+ },
+ {
+ "name": "SNW",
+ "resolution": 10.0,
+ "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/snw_10.tif"
+ },
+ {
+ "name": "B05",
+ "resolution": 10.0,
+ "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/b05_10.tif"
+ },
+ {
+ "name": "B06",
+ "resolution": 10.0,
+ "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/b06_10.tif"
+ },
+ {
+ "name": "dataMask",
+ "resolution": 10.0,
+ "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/datamask_10.tif"
+ },
+ {
+ "name": "B07",
+ "resolution": 10.0,
+ "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/b07_10.tif"
+ },
+ {
+ "name": "CLP",
+ "resolution": 10.0,
+ "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/clp_10.tif"
+ },
+ {
+ "name": "NDVI",
+ "resolution": 10.0,
+ "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/ndvi_10.tif"
+ },
+ {
+ "name": "SCL",
+ "resolution": 10.0,
+ "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/scl_10.tif"
+ },
+ {
+ "name": "B09",
+ "resolution": 10.0,
+ "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/b09_10.tif"
+ },
+ {
+ "name": "B01",
+ "resolution": 10.0,
+ "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/b01_10.tif"
+ },
+ {
+ "name": "NDWI",
+ "resolution": 10.0,
+ "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/ndwi_10.tif"
+ },
+ {
+ "name": "AOT",
+ "resolution": 10.0,
+ "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/aot_10.tif"
+ },
+ {
+ "name": "CLD",
+ "resolution": 10.0,
+ "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/cld_10.tif"
+ },
+ {
+ "name": "CLM",
+ "resolution": 10.0,
+ "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/clm_10.tif"
+ },
+ {
+ "name": "B02",
+ "resolution": 10.0,
+ "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/b02_10.tif"
+ },
+ {
+ "name": "B04",
+ "resolution": 10.0,
+ "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/b04_10.tif"
+ },
+ {
+ "name": "B8A",
+ "resolution": 10.0,
+ "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/b8a_10.tif"
+ },
+ {
+ "name": "EVI",
+ "resolution": 10.0,
+ "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/evi_10.tif"
+ },
+ {
+ "name": "B12",
+ "resolution": 10.0,
+ "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/b12_10.tif"
+ }
+ ]
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https://{{resourceName}}.farmbeats.azure.net/scenes?provider=Microsoft&farmerId=FARMER123&boundaryId=BOUNDARY123&api-version=2020-10-16-preview&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7ehK8eAKzdo1PTnwcAAAAAAA%3d%3d%23RT%3a1%23TRC%3a10%23ISV%3a2%23IEO%3a65551%23FPC%3aAdOfBwAAAAAA7Z8HAAAAAAA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_CreateCascadeDeleteJob.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_CreateCascadeDeleteJob.json
new file mode 100644
index 000000000000..85084ff521ed
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_CreateCascadeDeleteJob.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "seasonalFieldId": "SEASONALFIELD123",
+ "api-version": "2021-03-31-preview",
+ "jobId": "JOB123"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "id": "JOB123",
+ "status": "Succeeded",
+ "message": "Job completed successfully.",
+ "durationInSeconds": 14.7977857,
+ "createdDateTime": "2021-04-19T11:31:20Z",
+ "lastActionDateTime": "2021-04-19T11:31:34Z",
+ "startTime": "2021-04-19T11:31:19Z",
+ "endTime": "2021-04-19T11:31:34Z",
+ "farmerId": "FARMER123",
+ "resourceId": "SEASONALFIELD123",
+ "resourceType": "seasonalfield"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_CreateOrUpdate.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_CreateOrUpdate.json
new file mode 100644
index 000000000000..39d8f11403c7
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_CreateOrUpdate.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "seasonalFieldId": "SEASONALFIELD123",
+ "api-version": "2021-03-31-preview",
+ "seasonalField": {
+ "farmId": "FARM123",
+ "fieldId": "FIELD123",
+ "seasonId": "WINTER_WHEAT_2021",
+ "cropId": "WHEAT",
+ "cropVarietyIds": [
+ "WHEAT_VARIETY_123",
+ "WHEAT_VARIETY_456"
+ ],
+ "avgYieldValue": 321.6,
+ "avgYieldUnit": "Bushels per acre",
+ "avgSeedPopulationValue": 45,
+ "avgSeedPopulationUnit": "Kilogram per acre",
+ "plantingDateTime": "2021-04-21T06:49:30Z",
+ "name": "John Smith's Seasonal Field",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "SEASONALFIELD123",
+ "farmerId": "FARMER123",
+ "farmId": "FARM123",
+ "fieldId": "FIELD123",
+ "seasonId": "WINTER_WHEAT_2021",
+ "cropId": "WHEAT",
+ "cropVarietyIds": [
+ "WHEAT_VARIETY_123",
+ "WHEAT_VARIETY_456"
+ ],
+ "primaryBoundaryId": "BOUNDARY123",
+ "boundaryIds": [
+ "BOUNDARY123",
+ "BOUNDARY456"
+ ],
+ "avgYieldValue": 321.6,
+ "avgYieldUnit": "Bushels per acre",
+ "avgSeedPopulationValue": 45,
+ "avgSeedPopulationUnit": "Kilogram per acre",
+ "plantingDateTime": "2021-04-21T06:49:30Z",
+ "name": "John Smith's Seasonal Field",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "SEASONALFIELD123",
+ "farmerId": "FARMER123",
+ "farmId": "FARM123",
+ "fieldId": "FIELD123",
+ "seasonId": "WINTER_WHEAT_2021",
+ "cropId": "WHEAT",
+ "cropVarietyIds": [
+ "WHEAT_VARIETY_123",
+ "WHEAT_VARIETY_456"
+ ],
+ "primaryBoundaryId": "BOUNDARY123",
+ "boundaryIds": [
+ "BOUNDARY123",
+ "BOUNDARY456"
+ ],
+ "avgYieldValue": 321.6,
+ "avgYieldUnit": "Bushels per acre",
+ "avgSeedPopulationValue": 45,
+ "avgSeedPopulationUnit": "Kilogram per acre",
+ "plantingDateTime": "2021-04-21T06:49:30Z",
+ "name": "John Smith's Seasonal Field",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_Delete.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_Delete.json
new file mode 100644
index 000000000000..e88c3e014d9d
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_Delete.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "seasonalFieldId": "SEASONALFIELD123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_Get.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_Get.json
new file mode 100644
index 000000000000..531e3c81b5e5
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_Get.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "seasonalFieldId": "SEASONALFIELD123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "SEASONALFIELD123",
+ "farmerId": "FARMER123",
+ "farmId": "FARM123",
+ "fieldId": "FIELD123",
+ "seasonId": "WINTER_WHEAT_2021",
+ "cropId": "WHEAT",
+ "cropVarietyIds": [
+ "WHEAT_VARIETY_123",
+ "WHEAT_VARIETY_456"
+ ],
+ "primaryBoundaryId": "BOUNDARY123",
+ "boundaryIds": [
+ "BOUNDARY123",
+ "BOUNDARY456"
+ ],
+ "avgYieldValue": 321.6,
+ "avgYieldUnit": "Bushels per acre",
+ "avgSeedPopulationValue": 45,
+ "avgSeedPopulationUnit": "Kilogram per acre",
+ "plantingDateTime": "2021-04-21T06:49:30Z",
+ "name": "John Smith's Seasonal Field",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_GetCascadeDeleteJobDetails.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_GetCascadeDeleteJobDetails.json
new file mode 100644
index 000000000000..17a1d054dfe9
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_GetCascadeDeleteJobDetails.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "jobId": "JOB123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "JOB123",
+ "status": "Succeeded",
+ "message": "Job completed successfully.",
+ "durationInSeconds": 14.7977857,
+ "createdDateTime": "2021-04-19T11:31:20Z",
+ "lastActionDateTime": "2021-04-19T11:31:34Z",
+ "startTime": "2021-04-19T11:31:19Z",
+ "endTime": "2021-04-19T11:31:34Z",
+ "farmerId": "FARMER123",
+ "resourceId": "SEASONALFIELD123",
+ "resourceType": "seasonalfield"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_List.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_List.json
new file mode 100644
index 000000000000..e2df1c6e4d09
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_List.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "SEASONALFIELD123",
+ "farmerId": "FARMER123",
+ "farmId": "FARM123",
+ "fieldId": "FIELD123",
+ "seasonId": "WINTER_WHEAT_2021",
+ "cropId": "WHEAT",
+ "cropVarietyIds": [
+ "WHEAT_VARIETY_123",
+ "WHEAT_VARIETY_456"
+ ],
+ "primaryBoundaryId": "BOUNDARY123",
+ "boundaryIds": [
+ "BOUNDARY123",
+ "BOUNDARY456"
+ ],
+ "avgYieldValue": 321.6,
+ "avgYieldUnit": "Bushels per acre",
+ "avgSeedPopulationValue": 45,
+ "avgSeedPopulationUnit": "Kilogram per acre",
+ "plantingDateTime": "2021-04-21T06:49:30Z",
+ "name": "John Smith's Seasonal Field",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https://{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/seasonalFields/{{seasonalFieldId}}?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7e23TRC%3a10%23ISA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_ListByFarmerId.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_ListByFarmerId.json
new file mode 100644
index 000000000000..1ff5c7b115ed
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_ListByFarmerId.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "SEASONALFIELD123",
+ "farmerId": "FARMER123",
+ "farmId": "FARM123",
+ "fieldId": "FIELD123",
+ "seasonId": "WINTER_WHEAT_2021",
+ "cropId": "WHEAT",
+ "cropVarietyIds": [
+ "WHEAT_VARIETY_123",
+ "WHEAT_VARIETY_456"
+ ],
+ "primaryBoundaryId": "BOUNDARY123",
+ "boundaryIds": [
+ "BOUNDARY123",
+ "BOUNDARY456"
+ ],
+ "avgYieldValue": 321.6,
+ "avgYieldUnit": "Bushels per acre",
+ "avgSeedPopulationValue": 45,
+ "avgSeedPopulationUnit": "Kilogram per acre",
+ "plantingDateTime": "2021-04-21T06:49:30Z",
+ "name": "John Smith's Seasonal Field",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https://{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/seasonalFields/{{seasonalFieldId}}?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7e23TRC%3a10%23ISA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_CreateOrUpdate.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_CreateOrUpdate.json
new file mode 100644
index 000000000000..b9233c24fb19
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_CreateOrUpdate.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "seasonId": "SEASON123",
+ "season": {
+ "startDateTime": "2021-04-22T17:56:28Z",
+ "endDateTime": "2021-04-22T17:56:28Z",
+ "year": 2012,
+ "status": "Active",
+ "name": "John Smith's Season",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "startDateTime": "2021-04-22T17:50:26Z",
+ "endDateTime": "2021-04-22T17:50:26Z",
+ "year": 2012,
+ "id": "SEASON123",
+ "name": "John Smith's Season",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ },
+ "201": {
+ "body": {
+ "startDateTime": "2021-04-22T17:50:26Z",
+ "endDateTime": "2021-04-22T17:50:26Z",
+ "year": 2012,
+ "id": "SEASON123",
+ "name": "John Smith's Season",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_Delete.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_Delete.json
new file mode 100644
index 000000000000..65b69d8f4cff
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_Delete.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "seasonId": "SEASON123"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_Get.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_Get.json
new file mode 100644
index 000000000000..bb211e68d035
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_Get.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "seasonId": "SEASON123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "startDateTime": "2021-04-22T17:50:26Z",
+ "endDateTime": "2021-04-22T17:50:26Z",
+ "year": 2012,
+ "id": "SEASON123",
+ "name": "John Smith's Season",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_List.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_List.json
new file mode 100644
index 000000000000..5c0053b60f65
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_List.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "startDateTime": "2021-04-22T17:50:26Z",
+ "endDateTime": "2021-04-22T17:50:26Z",
+ "year": 2012,
+ "id": "SEASON123",
+ "name": "John Smith's Season",
+ "status": "Active",
+ "description": "Some description",
+ "properties": {
+ "Irrigated": "Yes",
+ "RetailerId": "Retailer123"
+ },
+ "createdDateTime": "2021-04-21T06:49:30Z",
+ "modifiedDateTime": "2021-04-21T06:49:30Z",
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e"
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https://{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/seasonalFields/{{seasonalFieldId}}?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7e23TRC%3a10%23ISA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_CreateOrUpdate.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_CreateOrUpdate.json
new file mode 100644
index 000000000000..4dfc09b2a20b
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_CreateOrUpdate.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "FARMER123",
+ "tillageDataId": "TILLAGEOP123",
+ "tillageData": {
+ "source": "Manual",
+ "name": "Planting data for North Farm",
+ "description": "some description",
+ "status": "Active",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationBoundaryId": "PLANTINGOPBOUNDARY1",
+ "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
+ "area": {
+ "unit": "acre",
+ "value": 30
+ },
+ "tillagePressure": {
+ "unit": "kg per sq cms",
+ "value": 950
+ },
+ "tillageDepth": {
+ "unit": "cms",
+ "value": 9.5
+ },
+ "properties": {
+ "Region": "Europe",
+ "CountyCode": 123
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "farmerId": "FARMER123",
+ "id": "TILLAGEOP123",
+ "source": "Manual",
+ "name": "Planting data for North Farm",
+ "description": "some description",
+ "status": "Active",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "operationModifiedDateTime": "2021-02-28T10:12:12Z",
+ "operationBoundaryId": "PLANTINGOPBOUNDARY1",
+ "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
+ "area": {
+ "unit": "acre",
+ "value": 30
+ },
+ "tillagePressure": {
+ "unit": "kg per sq cms",
+ "value": 950
+ },
+ "tillageDepth": {
+ "unit": "cms",
+ "value": 9.5
+ },
+ "properties": {
+ "Region": "Europe",
+ "CountyCode": 123
+ },
+ "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{plantingDataId}}&resourceTypes=PlantingData",
+ "createdDateTime": "2021-02-29T04:57:04Z",
+ "modifiedDateTime": "2021-03-08T18:22:07Z",
+ "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
+ }
+ },
+ "201": {
+ "body": {
+ "farmerId": "FARMER123",
+ "id": "TILLAGEOP123",
+ "source": "Manual",
+ "name": "Planting data for North Farm",
+ "description": "some description",
+ "status": "Active",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "operationModifiedDateTime": "2021-02-28T10:12:12Z",
+ "operationBoundaryId": "PLANTINGOPBOUNDARY1",
+ "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
+ "area": {
+ "unit": "acre",
+ "value": 30
+ },
+ "tillagePressure": {
+ "unit": "kg per sq cms",
+ "value": 950
+ },
+ "tillageDepth": {
+ "unit": "cms",
+ "value": 9.5
+ },
+ "properties": {
+ "Region": "Europe",
+ "CountyCode": 123
+ },
+ "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{plantingDataId}}&resourceTypes=PlantingData",
+ "createdDateTime": "2021-02-29T04:57:04Z",
+ "modifiedDateTime": "2021-03-08T18:22:07Z",
+ "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_Delete.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_Delete.json
new file mode 100644
index 000000000000..8ab38e14e5fb
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_Delete.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "FARMER123",
+ "tillageDataId": "TILLAGEOP123"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_Get.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_Get.json
new file mode 100644
index 000000000000..a9499ed7990f
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_Get.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "FARMER123",
+ "tillageDataId": "TILLAGEOP123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "farmerId": "FARMER123",
+ "id": "TILLAGEOP123",
+ "source": "Manual",
+ "name": "Planting data for North Farm",
+ "description": "some description",
+ "status": "Active",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationBoundaryId": "PLANTINGOPBOUNDARY1",
+ "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
+ "area": {
+ "unit": "acre",
+ "value": 30
+ },
+ "tillagePressure": {
+ "unit": "kg per sq cms",
+ "value": 950
+ },
+ "tillageDepth": {
+ "unit": "cms",
+ "value": 9.5
+ },
+ "properties": {
+ "Region": "Asia",
+ "CountyCode": 123
+ },
+ "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{plantingDataId}}&resourceTypes=PlantingData",
+ "createdDateTime": "2021-02-29T04:57:04Z",
+ "modifiedDateTime": "2021-03-08T18:22:07Z",
+ "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_List.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_List.json
new file mode 100644
index 000000000000..52e57fe5de5e
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_List.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "farmerId": "FARMER123",
+ "id": "TILLAGEOP123",
+ "source": "Manual",
+ "name": "Planting data for North Farm",
+ "description": "some description",
+ "status": "Active",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationBoundaryId": "PLANTINGOPBOUNDARY1",
+ "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
+ "area": {
+ "unit": "acre",
+ "value": 30
+ },
+ "tillagePressure": {
+ "unit": "kg per sq cms",
+ "value": 950
+ },
+ "tillageDepth": {
+ "unit": "cms",
+ "value": 9.5
+ },
+ "properties": {
+ "Region": "Europe",
+ "CountyCode": 123
+ },
+ "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{plantingDataId}}&resourceTypes=PlantingData",
+ "createdDateTime": "2021-02-29T04:57:04Z",
+ "modifiedDateTime": "2021-03-08T18:22:07Z",
+ "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https:/{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/plantingData?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7ehK8eAKzdo1MNnwcAAAAAAA%3d%3d%23RT%3a1%23TRC%3a10%23ISV%3a2%23IEO%3a65551%23FPC%3aAQ2fBwAAAAAAD58HAAAAAAA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_ListByFarmerId.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_ListByFarmerId.json
new file mode 100644
index 000000000000..240a3548c76b
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_ListByFarmerId.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "FARMER123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "farmerId": "FARMER123",
+ "id": "TILLAGEOP123",
+ "source": "Manual",
+ "name": "Planting data for North Farm",
+ "description": "some description",
+ "status": "Active",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationBoundaryId": "PLANTINGOPBOUNDARY1",
+ "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
+ "area": {
+ "unit": "acre",
+ "value": 30
+ },
+ "tillagePressure": {
+ "unit": "kg per sq cms",
+ "value": 950
+ },
+ "tillageDepth": {
+ "unit": "cms",
+ "value": 9.5
+ },
+ "properties": {
+ "Region": "Europe",
+ "CountyCode": 123
+ },
+ "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{plantingDataId}}&resourceTypes=PlantingData",
+ "createdDateTime": "2021-02-29T04:57:04Z",
+ "modifiedDateTime": "2021-03-08T18:22:07Z",
+ "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
+ }
+ ],
+ "$skipToken": "string",
+ "nextLink": "https:/{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/plantingData?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7ehK8eAKzdo1MNnwcAAAAAAA%3d%3d%23RT%3a1%23TRC%3a10%23ISV%3a2%23IEO%3a65551%23FPC%3aAQ2fBwAAAAAAD58HAAAAAAA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_CreateDataDeleteJob.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_CreateDataDeleteJob.json
new file mode 100644
index 000000000000..98a2a1267033
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_CreateDataDeleteJob.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "jobId": "JOB123",
+ "api-version": "2021-03-31-preview",
+ "body": {
+ "extensionId": "dtn.clearAg",
+ "farmerId": "test_farmer",
+ "boundaryId": "test_farmer",
+ "weatherDataType": "forecast",
+ "granularity": "daily",
+ "startDateTime": "2021-04-18T01:32:42Z",
+ "endDateTime": "2021-04-18T01:32:42Z",
+ "name": "Delete Job",
+ "description": "For extension dtn.clearAg",
+ "properties": {
+ "region": "US"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "durationInSeconds": 12.4,
+ "id": "delete-weather-job",
+ "status": "Waiting",
+ "message": "Created job to delete weather data for job name 'delete-weather-job', farmer id 'test_farmer' and boundary id 'test_boundary'.",
+ "createdDateTime": "2021-04-16T11:33:45Z",
+ "lastActionDateTime": "2021-04-16T11:33:45Z",
+ "startTime": "2021-04-16T11:33:45Z",
+ "endTime": "2021-04-16T11:33:45Z",
+ "farmerId": "test_farmer",
+ "boundaryId": "test_farmer",
+ "extensionId": "dtn.clearAg",
+ "name": "Delete Job",
+ "description": "For extension dtn.clearAg",
+ "properties": {
+ "region": "US"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_CreateDataIngestionJob.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_CreateDataIngestionJob.json
new file mode 100644
index 000000000000..27b4b7a446cc
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_CreateDataIngestionJob.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "jobId": "JOB123",
+ "api-version": "2021-03-31-preview",
+ "body": {
+ "farmerId": "test_farmer",
+ "boundaryId": "test_boundary",
+ "extensionId": "dtn.clearAg",
+ "extensionApiName": "dailyforecast",
+ "extensionApiInput": {
+ "start": 0,
+ "end": 5
+ },
+ "name": "TestWeatherJob",
+ "description": "Daily Forecast data for 5 days",
+ "properties": {
+ "region": "Asia"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "durationInSeconds": 12.4,
+ "id": "weather-job",
+ "status": "Waiting",
+ "message": "Created job to fetch weather data for job name 'TestWeatherJob', farmer id 'test_farmer' and field id 'test_field'.",
+ "createdDateTime": "2021-04-16T11:33:45Z",
+ "lastActionDateTime": "2021-04-16T11:33:45Z",
+ "startTime": "2021-04-16T11:33:45Z",
+ "endTime": "2021-04-16T11:33:45Z",
+ "farmerId": "test_farmer",
+ "boundaryId": "test_boundary",
+ "extensionId": "dtn.clearAg",
+ "extensionApiName": "dailyforecast",
+ "extensionApiInput": {
+ "start": 0,
+ "end": 5
+ },
+ "name": "TestWeatherJob",
+ "description": "Daily Forecast data for 5 days",
+ "properties": {
+ "region": "Asia"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_GetDataDeleteJobDetails.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_GetDataDeleteJobDetails.json
new file mode 100644
index 000000000000..91bd4cb389ae
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_GetDataDeleteJobDetails.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "jobId": "JOB123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "durationInSeconds": 12.4,
+ "id": "weather-delete-job",
+ "status": "Succeeded",
+ "message": "Weather data is deleted for startTime to endTime",
+ "createdDateTime": "2021-04-16T08:24:50Z",
+ "lastActionDateTime": "2021-04-16T08:24:50Z",
+ "extensionId": "dtn.clearAg",
+ "farmerId": "test_farmer",
+ "boundaryId": "test_farmer",
+ "weatherDataType": "forecast",
+ "granularity": "daily",
+ "startDateTime": "2021-04-18T01:32:42Z",
+ "endDateTime": "2021-04-18T01:32:42Z",
+ "name": "Delete Job",
+ "description": "For extension dtn.clearAg",
+ "properties": {
+ "region": "US"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_GetDataIngestionJobDetails.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_GetDataIngestionJobDetails.json
new file mode 100644
index 000000000000..9b4a6f6ac0e9
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_GetDataIngestionJobDetails.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "jobId": "JOB123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "durationInSeconds": 12.4,
+ "id": "weather-job",
+ "status": "Succeeded",
+ "message": "Weather data is available for startTime to endTime",
+ "createdDateTime": "2021-04-16T08:24:50Z",
+ "lastActionDateTime": "2021-04-16T08:24:50Z",
+ "startTime": "2021-04-16T08:24:50Z",
+ "endTime": "2021-04-16T08:24:50Z",
+ "farmerId": "test_farmer",
+ "boundaryId": "test_boundary",
+ "extensionId": "dtn.clearAg",
+ "extensionApiName": "dailyforecast",
+ "extensionApiInput": {
+ "start": 0,
+ "end": 5
+ },
+ "name": "TestWeatherJob",
+ "description": "Daily Forecast data for 5 days",
+ "properties": {
+ "region": "Asia"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_List.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_List.json
new file mode 100644
index 000000000000..837c992aaa74
--- /dev/null
+++ b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_List.json
@@ -0,0 +1,143 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "boundaryId": "BOUNDARY123",
+ "extensionId": "DTN.ClearAg",
+ "weatherDataType": "Historical",
+ "granularity": "Daily",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "ecd327e7-07f1-31b1-65ee-2162e193c055",
+ "farmerId": "test_farmer",
+ "boundaryId": "test_boundary",
+ "extensionId": "dtn.clearAg",
+ "location": {
+ "latitude": 77.75695801443568,
+ "longitude": 12.30932563432023
+ },
+ "dateTime": "2020-12-23T00:00:00Z",
+ "unitSystemCode": "us-std",
+ "extensionVersion": "1.0",
+ "weatherDataType": "forecast",
+ "granularity": "daily",
+ "cloudCover": {
+ "unit": "%",
+ "value": 81.1
+ },
+ "dewPoint": {
+ "unit": "F",
+ "value": 26.0
+ },
+ "precipitation": {
+ "unit": "in",
+ "value": 0.1
+ },
+ "relativeHumidity": {
+ "unit": "%",
+ "value": 74.0
+ },
+ "temperature": {
+ "unit": "F",
+ "value": 33.0
+ },
+ "windGust": {
+ "unit": "mph",
+ "value": 50.0
+ },
+ "windSpeed": {
+ "unit": "mph",
+ "value": 31.0
+ },
+ "eTag": "\"2b00a419-0000-0700-0000-5fe1ae4c0000\"",
+ "properties": {
+ "air_temp_max": {
+ "unit": "F",
+ "value": 36.0
+ },
+ "air_temp_min": "29",
+ "cloudCoverDescriptor": "Becoming Broken Overcast",
+ "precipitationDescriptor": "Light Snow Likely",
+ "weatherDescriptor": "Light Snow Likely",
+ "windDirectionDescriptor": "East",
+ "windTrendDescriptor": "None",
+ "dewPointMax": {
+ "unit": "F",
+ "value": 28.0
+ },
+ "dewPointMin": {
+ "unit": "F",
+ "value": 22.0
+ },
+ "iceAccPeriod": {
+ "unit": "in",
+ "value": 0.0
+ },
+ "liquidAccPeriod": {
+ "unit": "in",
+ "value": 0.0
+ },
+ "longWaveRadiationAvg": {
+ "unit": "W/m^2",
+ "value": 291.0
+ },
+ "petPeriod": {
+ "unit": "in",
+ "value": 0.04
+ },
+ "precipProb": {
+ "unit": "%",
+ "value": 75.0
+ },
+ "relativeHumidityMax": {
+ "unit": "%",
+ "value": 81.0
+ },
+ "relativeHumidityMin": {
+ "unit": "%",
+ "value": 69.0
+ },
+ "shortWaveRadiationAvg": {
+ "unit": "W/m^2",
+ "value": 0.0
+ },
+ "snowAccPeriod": {
+ "unit": "in",
+ "value": 0.7
+ },
+ "sunshineDuration": {
+ "unit": "hours",
+ "value": 0.0
+ },
+ "windSpeed2mAvg": {
+ "unit": "mph",
+ "value": 24.0
+ },
+ "windSpeed2mMax": {
+ "unit": "mph",
+ "value": 32.0
+ },
+ "windSpeed2mMin": {
+ "unit": "mph",
+ "value": 17.0
+ },
+ "windSpeedMax": {
+ "unit": "mph",
+ "value": 42.0
+ },
+ "windSpeedMin": {
+ "unit": "mph",
+ "value": 23.0
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/readme.md b/specification/agfood/data-plane/readme.md
new file mode 100644
index 000000000000..3d36db0e3711
--- /dev/null
+++ b/specification/agfood/data-plane/readme.md
@@ -0,0 +1,43 @@
+# agfood
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for agfood.
+
+## Getting Started
+
+To build the SDKs for My API, simply install AutoRest via `npm` (`npm install -g autorest`) and then run:
+
+> `autorest readme.md`
+
+To see additional help and options, run:
+
+> `autorest --help`
+
+For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page.
+
+---
+
+## Configuration
+
+### Basic Information
+
+These are the global settings for the agfood.
+
+```yaml
+openapi-type: data-plane
+tag: package-2021-03-31-preview
+
+directive:
+ - suppress: LongRunningResponseStatusCode
+ reason: The validation tools do not properly recognize 202 as a supported response code.
+```
+
+### Tag: package-2021-03-31-preview
+
+These settings apply only when `--tag=package-2021-03-31-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-03-31-preview'
+input-file:
+ - Microsoft.AgFoodPlatform/preview/2021-03-31-preview/agfood.json
+```
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/agfood.json b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/agfood.json
new file mode 100644
index 000000000000..4c4c7db32213
--- /dev/null
+++ b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/agfood.json
@@ -0,0 +1,1200 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure AgFoodPlatform RP Service",
+ "description": "APIs documentation for Azure AgFoodPlatform Resource Provider Service.",
+ "version": "2020-05-12-preview"
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AgFoodPlatform/farmBeats/{farmBeatsResourceName}/extensions/{extensionId}": {
+ "put": {
+ "tags": [
+ "Extensions"
+ ],
+ "description": "Install extension.",
+ "operationId": "Extensions_Create",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ExtensionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/FarmBeatsResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Extensions_Create": {
+ "$ref": "./examples/Extensions_Create.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Extensions"
+ ],
+ "description": "Get installed extension details by extension id.",
+ "operationId": "Extensions_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ExtensionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/FarmBeatsResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Extensions_Get": {
+ "$ref": "./examples/Extensions_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Extensions"
+ ],
+ "description": "Upgrade to latest extension.",
+ "operationId": "Extensions_Update",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ExtensionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/FarmBeatsResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Extensions_Update": {
+ "$ref": "./examples/Extensions_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Extensions"
+ ],
+ "description": "Uninstall extension.",
+ "operationId": "Extensions_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ExtensionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/FarmBeatsResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Extensions_Delete": {
+ "$ref": "./examples/Extensions_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AgFoodPlatform/farmBeats/{farmBeatsResourceName}/extensions": {
+ "get": {
+ "tags": [
+ "Extensions"
+ ],
+ "description": "Get installed extensions details.",
+ "operationId": "Extensions_ListByFarmBeats",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FarmBeatsResourceNameParameter"
+ },
+ {
+ "in": "query",
+ "name": "extensionIds",
+ "description": "Installed extension ids.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "extensionCategories",
+ "description": "Installed extension categories.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ExtensionListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Extensions_ListByFarmBeats": {
+ "$ref": "./examples/Extensions_ListByFarmBeats.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.AgFoodPlatform/farmBeatsExtensionDefinitions": {
+ "get": {
+ "tags": [
+ "FarmBeatsExtensions"
+ ],
+ "description": "Get list of farmBeats extension.",
+ "operationId": "FarmBeatsExtensions_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "farmBeatsExtensionIds",
+ "description": "FarmBeatsExtension ids.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "farmBeatsExtensionNames",
+ "description": "FarmBeats extension names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "extensionCategories",
+ "description": "Extension categories.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "publisherIds",
+ "description": "Publisher ids.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmBeatsExtensionListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "FarmBeatsExtensions_List": {
+ "$ref": "./examples/FarmBeatsExtensions_List.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.AgFoodPlatform/farmBeatsExtensionDefinitions/{farmBeatsExtensionId}": {
+ "get": {
+ "tags": [
+ "FarmBeatsExtensions"
+ ],
+ "description": "Get farmBeats extension.",
+ "operationId": "FarmBeatsExtensions_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmBeatsExtensionId",
+ "description": "farmBeatsExtensionId to be queried.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-za-z]{3,50}[.][A-za-z]{3,100}$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmBeatsExtension"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "FarmBeatsExtensions_Get": {
+ "$ref": "./examples/FarmBeatsExtensions_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AgFoodPlatform/farmBeats/{farmBeatsResourceName}": {
+ "get": {
+ "tags": [
+ "FarmBeatsModels"
+ ],
+ "description": "Get FarmBeats resource.",
+ "operationId": "FarmBeatsModels_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FarmBeatsResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmBeats"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "FarmBeatsModels_Get": {
+ "$ref": "./examples/FarmBeatsModels_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "FarmBeatsModels"
+ ],
+ "description": "Create or update FarmBeats resource.",
+ "operationId": "FarmBeatsModels_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/FarmBeatsResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "FarmBeats resource create or update request object.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FarmBeats"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmBeats"
+ }
+ },
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmBeats"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "FarmBeatsModels_CreateOrUpdate": {
+ "$ref": "./examples/FarmBeatsModels_CreateOrUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "FarmBeatsModels"
+ ],
+ "description": "Update a FarmBeats resource.",
+ "operationId": "FarmBeatsModels_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/FarmBeatsResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Request object.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FarmBeatsUpdateRequestModel"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmBeats"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "FarmBeatsModels_Update": {
+ "$ref": "./examples/FarmBeatsModels_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "FarmBeatsModels"
+ ],
+ "description": "Delete a FarmBeats resource.",
+ "operationId": "FarmBeatsModels_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FarmBeatsResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "FarmBeatsModels_Delete": {
+ "$ref": "./examples/FarmBeatsModels_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AgFoodPlatform/farmBeats": {
+ "get": {
+ "tags": [
+ "FarmBeatsModels"
+ ],
+ "description": "Lists the FarmBeats instances for a subscription.",
+ "operationId": "FarmBeatsModels_ListBySubscription",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmBeatsListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "FarmBeatsModels_ListBySubscription": {
+ "$ref": "./examples/FarmBeatsModels_ListBySubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AgFoodPlatform/farmBeats": {
+ "get": {
+ "tags": [
+ "FarmBeatsModels"
+ ],
+ "description": "Lists the FarmBeats instances for a resource group.",
+ "operationId": "FarmBeatsModels_ListByResourceGroup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Continuation token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmBeatsListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "FarmBeatsModels_ListByResourceGroup": {
+ "$ref": "./examples/FarmBeatsModels_ListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AgFoodPlatform/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Locations"
+ ],
+ "description": "Checks the name availability of the resource with requested resource name.",
+ "operationId": "Locations_CheckNameAvailability",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "NameAvailabilityRequest object.",
+ "required": true,
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/CheckNameAvailabilityRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/CheckNameAvailabilityResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Locations_CheckNameAvailability_AlreadyExists": {
+ "$ref": "./examples/Locations_CheckNameAvailability_AlreadyExists.json"
+ },
+ "Locations_CheckNameAvailability_Available": {
+ "$ref": "./examples/Locations_CheckNameAvailability_Available.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.AgFoodPlatform/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists the available operations of Microsoft.AgFoodPlatform resource provider.",
+ "operationId": "Operations_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Operations_List": {
+ "$ref": "./examples/Operations_List.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ExtensionProperties": {
+ "description": "Extension resource properties.",
+ "type": "object",
+ "properties": {
+ "extensionId": {
+ "description": "Extension Id.",
+ "pattern": "^[A-za-z]{3,50}[.][A-za-z]{3,100}$",
+ "type": "string",
+ "readOnly": true
+ },
+ "extensionCategory": {
+ "description": "Extension category. e.g. weather/sensor/satellite.",
+ "type": "string",
+ "readOnly": true
+ },
+ "installedExtensionVersion": {
+ "description": "Installed extension version.",
+ "pattern": "^([1-9]|10).\\d$",
+ "type": "string",
+ "readOnly": true
+ },
+ "extensionAuthLink": {
+ "description": "Extension auth link.",
+ "type": "string",
+ "readOnly": true
+ },
+ "extensionApiDocsLink": {
+ "description": "Extension api docs link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Extension": {
+ "description": "Extension resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/ExtensionProperties",
+ "x-ms-client-flatten": true
+ },
+ "eTag": {
+ "description": "The ETag value to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ExtensionListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Extension"
+ }
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UnitSystemsInfo": {
+ "description": "Unit systems info for the data provider.",
+ "required": [
+ "key",
+ "values"
+ ],
+ "type": "object",
+ "properties": {
+ "key": {
+ "description": "UnitSystem key sent as part of ProviderInput.",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string"
+ },
+ "values": {
+ "description": "List of unit systems supported by this data provider.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DetailedInformation": {
+ "description": "Model to capture detailed information for farmBeatsExtensions.",
+ "type": "object",
+ "properties": {
+ "apiName": {
+ "description": "ApiName available for the farmBeatsExtension.",
+ "type": "string",
+ "example": "dailyforecast, dailyhistorical."
+ },
+ "customParameters": {
+ "description": "List of customParameters.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "platformParameters": {
+ "description": "List of platformParameters.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "unitsSupported": {
+ "$ref": "#/definitions/UnitSystemsInfo"
+ },
+ "apiInputParameters": {
+ "description": "List of apiInputParameters.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "FarmBeatsExtensionProperties": {
+ "description": "FarmBeatsExtension properties.",
+ "type": "object",
+ "properties": {
+ "targetResourceType": {
+ "description": "Target ResourceType of the farmBeatsExtension.",
+ "type": "string",
+ "readOnly": true
+ },
+ "farmBeatsExtensionId": {
+ "description": "FarmBeatsExtension ID.",
+ "maxLength": 100,
+ "minLength": 2,
+ "pattern": "^[A-za-z]{3,50}[.][A-za-z]{3,100}$",
+ "type": "string",
+ "readOnly": true
+ },
+ "farmBeatsExtensionName": {
+ "description": "FarmBeatsExtension name.",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string",
+ "readOnly": true
+ },
+ "farmBeatsExtensionVersion": {
+ "description": "FarmBeatsExtension version.",
+ "maxLength": 100,
+ "minLength": 2,
+ "pattern": "^([1-9]|10).\\d$",
+ "type": "string",
+ "readOnly": true
+ },
+ "publisherId": {
+ "description": "Publisher ID.",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "Textual description.",
+ "maxLength": 500,
+ "minLength": 2,
+ "type": "string",
+ "readOnly": true
+ },
+ "extensionCategory": {
+ "description": "Category of the extension. e.g. weather/sensor/satellite.",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string",
+ "readOnly": true
+ },
+ "extensionAuthLink": {
+ "description": "FarmBeatsExtension auth link.",
+ "type": "string",
+ "readOnly": true
+ },
+ "extensionApiDocsLink": {
+ "description": "FarmBeatsExtension api docs link.",
+ "type": "string",
+ "readOnly": true
+ },
+ "detailedInformation": {
+ "description": "Detailed information which shows summary of requested data.\r\nUsed in descriptive get extension metadata call.\r\nInformation for weather category per api included are apisSupported,\r\ncustomParameters, PlatformParameters and Units supported.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DetailedInformation"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "FarmBeatsExtension": {
+ "description": "FarmBeats extension resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/FarmBeatsExtensionProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "FarmBeatsExtensionListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FarmBeatsExtension"
+ }
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "FarmBeatsProperties": {
+ "description": "FarmBeats ARM Resource properties.",
+ "type": "object",
+ "properties": {
+ "instanceUri": {
+ "format": "uri",
+ "description": "Uri of the FarmBeats instance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "FarmBeats instance provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "FarmBeats": {
+ "description": "FarmBeats ARM Resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/FarmBeatsProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "FarmBeatsUpdateRequestModel": {
+ "description": "FarmBeats update request.",
+ "type": "object",
+ "properties": {
+ "location": {
+ "description": "Geo-location where the resource lives.",
+ "type": "string"
+ },
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "FarmBeatsListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "uniqueItems": false,
+ "items": {
+ "$ref": "#/definitions/FarmBeats"
+ }
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "FarmBeatsResourceNameParameter": {
+ "in": "path",
+ "name": "farmBeatsResourceName",
+ "description": "FarmBeats resource name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ExtensionIdParameter": {
+ "in": "path",
+ "name": "extensionId",
+ "description": "Id of extension resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ },
+ "description": "Azure Active Directory OAuth2 Flow."
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+}
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Create.json b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Create.json
new file mode 100644
index 000000000000..1bf3fe863980
--- /dev/null
+++ b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Create.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2020-05-12-preview",
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "examples-rg",
+ "farmBeatsResourceName": "examples-farmbeatsResourceName",
+ "extensionId": "provider.extension"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/Microsoft.AgFoodPlatform/farmBeats/examples-farmbeatsResourceName/extensions/provider.extension",
+ "name": "provider.extension",
+ "type": "Microsoft.AgFoodPlatform/farmBeats/extensions",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2020-02-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-01T01:01:01.1075056Z"
+ },
+ "eTag": "7200b954-0000-0700-0000-603cbbc40000",
+ "properties": {
+ "extensionCategory": "Weather",
+ "installedExtensionVersion": "1.0",
+ "extensionAuthLink": "https://www.provider.com/extension/",
+ "extensionApiDocsLink": "https://docs.provider.com/documentation/extension"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Delete.json b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Delete.json
new file mode 100644
index 000000000000..acc12ece1dc8
--- /dev/null
+++ b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-05-12-preview",
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "examples-rg",
+ "farmBeatsResourceName": "examples-farmbeatsResourceName",
+ "extensionId": "provider.extension"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Get.json b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Get.json
new file mode 100644
index 000000000000..a9fd49929933
--- /dev/null
+++ b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Get.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2020-05-12-preview",
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "examples-rg",
+ "farmBeatsResourceName": "examples-farmbeatsResourceName",
+ "extensionId": "provider.extension"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/Microsoft.AgFoodPlatform/farmBeats/examples-farmbeatsResourceName/extensions/provider.extension",
+ "name": "provider.extension",
+ "type": "Microsoft.AgFoodPlatform/farmBeats/extensions",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2020-02-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-01T01:01:01.1075056Z"
+ },
+ "eTag": "7200b954-0000-0700-0000-603cbbc40000",
+ "properties": {
+ "extensionCategory": "Weather",
+ "installedExtensionVersion": "1.0",
+ "extensionAuthLink": "https://www.provider.com/extension/",
+ "extensionApiDocsLink": "https://docs.provider.com/documentation/extension"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_ListByFarmBeats.json b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_ListByFarmBeats.json
new file mode 100644
index 000000000000..c3e1f3b78402
--- /dev/null
+++ b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_ListByFarmBeats.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2020-05-12-preview",
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "examples-rg",
+ "farmBeatsResourceName": "examples-farmbeatsResourceName"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/Microsoft.AgFoodPlatform/farmBeats/examples-farmbeatsResourceName/extensions/provider.extension",
+ "name": "provider.extension",
+ "type": "Microsoft.AgFoodPlatform/farmBeats/extensions",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2020-02-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-01T01:01:01.1075056Z"
+ },
+ "eTag": "7200b954-0000-0700-0000-603cbbc40000",
+ "properties": {
+ "extensionCategory": "Weather",
+ "installedExtensionVersion": "1.0",
+ "extensionAuthLink": "https://www.provider.com/extension/",
+ "extensionApiDocsLink": "https://docs.provider.com/documentation/extension"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Update.json b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Update.json
new file mode 100644
index 000000000000..2d08b1b5f6d3
--- /dev/null
+++ b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Update.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2020-05-12-preview",
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "examples-rg",
+ "farmBeatsResourceName": "examples-farmbeatsResourceName",
+ "extensionId": "provider.extension"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/Microsoft.AgFoodPlatform/farmBeats/examples-farmbeatsResourceName/extensions/provider.extension",
+ "name": "provider.extension",
+ "type": "Microsoft.AgFoodPlatform/farmBeats/extensions",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2020-02-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-01T01:01:01.1075056Z"
+ },
+ "eTag": "7200b954-0000-0700-0000-603cbbc40000",
+ "properties": {
+ "extensionCategory": "Weather",
+ "installedExtensionVersion": "2.0",
+ "extensionAuthLink": "https://www.provider.com/extension/",
+ "extensionApiDocsLink": "https://docs.provider.com/documentation/extension"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsExtensions_Get.json b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsExtensions_Get.json
new file mode 100644
index 000000000000..8a79dd9cf2b5
--- /dev/null
+++ b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsExtensions_Get.json
@@ -0,0 +1,243 @@
+{
+ "parameters": {
+ "api-version": "2020-05-12-preview",
+ "farmBeatsExtensionId": "DTN.ContentServices"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "Microsoft.AgFoodPlatform/farmBeatsExtensionDefinitions/DTN.ContentServices",
+ "type": "Microsoft.AgFoodPlatform/farmBeatsExtensionDefinitions",
+ "systemData": {
+ "createdAt": "2021-04-12T15:28:06Z",
+ "lastModifiedAt": "2021-04-12T15:30:01Z"
+ },
+ "properties": {
+ "targetResourceType": "FarmBeats",
+ "farmBeatsExtensionId": "DTN.ContentServices",
+ "farmBeatsExtensionName": "DTN",
+ "farmBeatsExtensionVersion": "1.0",
+ "publisherId": "dtn",
+ "extensionCategory": "Weather",
+ "extensionAuthLink": "https://www.dtn.com/dtn-content-integration/",
+ "extensionApiDocsLink": "https://cs-docs.dtn.com/api/weather-observations-and-forecasts-rest-api/",
+ "detailedInformation": [
+ {
+ "apiName": "GetDailyObservations",
+ "customParameters": [
+ "stationId",
+ "stationLatitude",
+ "stationLongitude",
+ "timeZone",
+ "sunrise",
+ "sunset",
+ "weatherCode",
+ "weatherDescription",
+ "maxTemperature",
+ "minTemperature",
+ "avgHeatIndex",
+ "maxHeatIndex",
+ "minHeatIndex",
+ "maxWindChill",
+ "minWindChill",
+ "maxFeelsLike",
+ "minFeelsLike",
+ "avgFeelsLike",
+ "maxWindSpeed",
+ "avgWetBulbGlobeTemp",
+ "maxWetBulbGlobeTemp",
+ "minWetBulbGlobeTemp",
+ "minutesOfSunshine",
+ "cornHeatUnit",
+ "evapotranspiration"
+ ],
+ "platformParameters": [
+ "cloudCover",
+ "dewPoint",
+ "growingDegreeDay",
+ "precipitation",
+ "pressure",
+ "relativeHumidity",
+ "temperature",
+ "wetBulbTemperature",
+ "dateTime",
+ "windChill",
+ "windSpeed",
+ "windDirection"
+ ],
+ "unitsSupported": {
+ "key": "units",
+ "values": [
+ "us",
+ "si"
+ ]
+ },
+ "apiInputParameters": [
+ "stationId",
+ "lat",
+ "lon",
+ "days",
+ "units",
+ "precision",
+ "sector"
+ ]
+ },
+ {
+ "apiName": "GetHourlyObservations",
+ "customParameters": [
+ "stationId",
+ "stationLatitude",
+ "stationLongitude",
+ "timeZone",
+ "weatherCode",
+ "weatherDescription",
+ "feelsLike",
+ "visibilityWeatherCode",
+ "visibilityWeatherDescription",
+ "minutesOfSunshine"
+ ],
+ "platformParameters": [
+ "cloudCover",
+ "dewPoint",
+ "precipitation",
+ "pressure",
+ "relativeHumidity",
+ "temperature",
+ "wetBulbTemperature",
+ "dateTime",
+ "visibility",
+ "windChill",
+ "windSpeed",
+ "windDirection",
+ "windGust"
+ ],
+ "unitsSupported": {
+ "key": "units",
+ "values": [
+ "us",
+ "si"
+ ]
+ },
+ "apiInputParameters": [
+ "stationId",
+ "lat",
+ "lon",
+ "hours",
+ "units",
+ "precision",
+ "sector"
+ ]
+ },
+ {
+ "apiName": "GetHourlyForecasts",
+ "customParameters": [
+ "stationId",
+ "stationLatitude",
+ "stationLongitude",
+ "timeZone",
+ "weatherCode",
+ "weatherDescription",
+ "feelsLike",
+ "visibilityWeatherCode",
+ "visibilityWeatherDescription",
+ "minutesOfSunshine"
+ ],
+ "platformParameters": [
+ "cloudCover",
+ "dewPoint",
+ "precipitation",
+ "pressure",
+ "relativeHumidity",
+ "temperature",
+ "wetBulbTemperature",
+ "dateTime",
+ "visibility",
+ "windChill",
+ "windSpeed",
+ "windDirection",
+ "windGust"
+ ],
+ "unitsSupported": {
+ "key": "units",
+ "values": [
+ "us",
+ "si"
+ ]
+ },
+ "apiInputParameters": [
+ "stationId",
+ "lat",
+ "lon",
+ "days",
+ "units",
+ "precision",
+ "sector"
+ ]
+ },
+ {
+ "apiName": "GetDailyForecasts",
+ "customParameters": [
+ "stationId",
+ "stationLatitude",
+ "stationLongitude",
+ "timeZone",
+ "sunrise",
+ "sunset",
+ "weatherCode",
+ "weatherDescription",
+ "maxTemperature",
+ "minTemperature",
+ "avgHeatIndex",
+ "maxHeatIndex",
+ "minHeatIndex",
+ "maxWindChill",
+ "minWindChill",
+ "maxFeelsLike",
+ "minFeelsLike",
+ "avgFeelsLike",
+ "maxWindSpeed",
+ "avgWetBulbGlobeTemp",
+ "maxWetBulbGlobeTemp",
+ "minWetBulbGlobeTemp",
+ "minutesOfSunshine",
+ "cornHeatUnit",
+ "evapotranspiration"
+ ],
+ "platformParameters": [
+ "cloudCover",
+ "dewPoint",
+ "growingDegreeDay",
+ "precipitation",
+ "pressure",
+ "relativeHumidity",
+ "temperature",
+ "wetBulbTemperature",
+ "dateTime",
+ "windChill",
+ "windSpeed",
+ "windDirection"
+ ],
+ "unitsSupported": {
+ "key": "units",
+ "values": [
+ "us",
+ "si"
+ ]
+ },
+ "apiInputParameters": [
+ "stationId",
+ "lat",
+ "lon",
+ "days",
+ "units",
+ "precision",
+ "sector"
+ ]
+ }
+ ]
+ },
+ "name": "DTN.ContentServices"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsExtensions_List.json b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsExtensions_List.json
new file mode 100644
index 000000000000..045a68ac341b
--- /dev/null
+++ b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsExtensions_List.json
@@ -0,0 +1,248 @@
+{
+ "parameters": {
+ "api-version": "2020-05-12-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "Microsoft.AgFoodPlatform/farmBeatsExtensionDefinitions/DTN.ContentServices",
+ "type": "Microsoft.AgFoodPlatform/farmBeatsExtensionDefinitions",
+ "systemData": {
+ "createdAt": "2021-04-12T15:28:06Z",
+ "lastModifiedAt": "2021-04-12T15:30:01Z"
+ },
+ "properties": {
+ "targetResourceType": "FarmBeats",
+ "farmBeatsExtensionId": "DTN.ContentServices",
+ "farmBeatsExtensionName": "DTN",
+ "farmBeatsExtensionVersion": "1.0",
+ "publisherId": "dtn",
+ "extensionCategory": "Weather",
+ "extensionAuthLink": "https://www.dtn.com/dtn-content-integration/",
+ "extensionApiDocsLink": "https://cs-docs.dtn.com/api/weather-observations-and-forecasts-rest-api/",
+ "detailedInformation": [
+ {
+ "apiName": "GetDailyObservations",
+ "customParameters": [
+ "stationId",
+ "stationLatitude",
+ "stationLongitude",
+ "timeZone",
+ "sunrise",
+ "sunset",
+ "weatherCode",
+ "weatherDescription",
+ "maxTemperature",
+ "minTemperature",
+ "avgHeatIndex",
+ "maxHeatIndex",
+ "minHeatIndex",
+ "maxWindChill",
+ "minWindChill",
+ "maxFeelsLike",
+ "minFeelsLike",
+ "avgFeelsLike",
+ "maxWindSpeed",
+ "avgWetBulbGlobeTemp",
+ "maxWetBulbGlobeTemp",
+ "minWetBulbGlobeTemp",
+ "minutesOfSunshine",
+ "cornHeatUnit",
+ "evapotranspiration"
+ ],
+ "platformParameters": [
+ "cloudCover",
+ "dewPoint",
+ "growingDegreeDay",
+ "precipitation",
+ "pressure",
+ "relativeHumidity",
+ "temperature",
+ "wetBulbTemperature",
+ "dateTime",
+ "windChill",
+ "windSpeed",
+ "windDirection"
+ ],
+ "unitsSupported": {
+ "key": "units",
+ "values": [
+ "us",
+ "si"
+ ]
+ },
+ "apiInputParameters": [
+ "stationId",
+ "lat",
+ "lon",
+ "days",
+ "units",
+ "precision",
+ "sector"
+ ]
+ },
+ {
+ "apiName": "GetHourlyObservations",
+ "customParameters": [
+ "stationId",
+ "stationLatitude",
+ "stationLongitude",
+ "timeZone",
+ "weatherCode",
+ "weatherDescription",
+ "feelsLike",
+ "visibilityWeatherCode",
+ "visibilityWeatherDescription",
+ "minutesOfSunshine"
+ ],
+ "platformParameters": [
+ "cloudCover",
+ "dewPoint",
+ "precipitation",
+ "pressure",
+ "relativeHumidity",
+ "temperature",
+ "wetBulbTemperature",
+ "dateTime",
+ "visibility",
+ "windChill",
+ "windSpeed",
+ "windDirection",
+ "windGust"
+ ],
+ "unitsSupported": {
+ "key": "units",
+ "values": [
+ "us",
+ "si"
+ ]
+ },
+ "apiInputParameters": [
+ "stationId",
+ "lat",
+ "lon",
+ "hours",
+ "units",
+ "precision",
+ "sector"
+ ]
+ },
+ {
+ "apiName": "GetHourlyForecasts",
+ "customParameters": [
+ "stationId",
+ "stationLatitude",
+ "stationLongitude",
+ "timeZone",
+ "weatherCode",
+ "weatherDescription",
+ "feelsLike",
+ "visibilityWeatherCode",
+ "visibilityWeatherDescription",
+ "minutesOfSunshine"
+ ],
+ "platformParameters": [
+ "cloudCover",
+ "dewPoint",
+ "precipitation",
+ "pressure",
+ "relativeHumidity",
+ "temperature",
+ "wetBulbTemperature",
+ "dateTime",
+ "visibility",
+ "windChill",
+ "windSpeed",
+ "windDirection",
+ "windGust"
+ ],
+ "unitsSupported": {
+ "key": "units",
+ "values": [
+ "us",
+ "si"
+ ]
+ },
+ "apiInputParameters": [
+ "stationId",
+ "lat",
+ "lon",
+ "days",
+ "units",
+ "precision",
+ "sector"
+ ]
+ },
+ {
+ "apiName": "GetDailyForecasts",
+ "customParameters": [
+ "stationId",
+ "stationLatitude",
+ "stationLongitude",
+ "timeZone",
+ "sunrise",
+ "sunset",
+ "weatherCode",
+ "weatherDescription",
+ "maxTemperature",
+ "minTemperature",
+ "avgHeatIndex",
+ "maxHeatIndex",
+ "minHeatIndex",
+ "maxWindChill",
+ "minWindChill",
+ "maxFeelsLike",
+ "minFeelsLike",
+ "avgFeelsLike",
+ "maxWindSpeed",
+ "avgWetBulbGlobeTemp",
+ "maxWetBulbGlobeTemp",
+ "minWetBulbGlobeTemp",
+ "minutesOfSunshine",
+ "cornHeatUnit",
+ "evapotranspiration"
+ ],
+ "platformParameters": [
+ "cloudCover",
+ "dewPoint",
+ "growingDegreeDay",
+ "precipitation",
+ "pressure",
+ "relativeHumidity",
+ "temperature",
+ "wetBulbTemperature",
+ "dateTime",
+ "windChill",
+ "windSpeed",
+ "windDirection"
+ ],
+ "unitsSupported": {
+ "key": "units",
+ "values": [
+ "us",
+ "si"
+ ]
+ },
+ "apiInputParameters": [
+ "stationId",
+ "lat",
+ "lon",
+ "days",
+ "units",
+ "precision",
+ "sector"
+ ]
+ }
+ ]
+ },
+ "name": "DTN.ContentServices"
+ }
+ ],
+ "nextLink": "string"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_CreateOrUpdate.json b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_CreateOrUpdate.json
new file mode 100644
index 000000000000..5613d21df6f7
--- /dev/null
+++ b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_CreateOrUpdate.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2020-05-12-preview",
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "examples-rg",
+ "farmBeatsResourceName": "examples-farmbeatsResourceName",
+ "body": {
+ "location": "eastus2",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/Microsoft.AgFoodPlatform/farmBeats/examples-farmbeatsResourceName",
+ "name": "examples-farmbeatsResourceName",
+ "type": "Microsoft.AgFoodPlatform/farmBeats",
+ "location": "eastus2",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2020-02-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-01T01:01:01.1075056Z"
+ },
+ "properties": {
+ "instanceUri": "https://examples-farmbeatsResourceName.eastus2.farmbeats.azure.net",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/Microsoft.AgFoodPlatform/farmBeats/examples-farmbeatsResourceName",
+ "name": "examples-farmbeatsResourceName",
+ "type": "Microsoft.AgFoodPlatform/farmBeats",
+ "location": "eastus2",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2020-02-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-01T01:01:01.1075056Z"
+ },
+ "properties": {
+ "instanceUri": "https://examples-farmbeatsResourceName.eastus2.farmbeats.azure.net",
+ "provisioningState": "Failed"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_Delete.json b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_Delete.json
new file mode 100644
index 000000000000..ca960b71cfdf
--- /dev/null
+++ b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-05-12-preview",
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "examples-rg",
+ "farmBeatsResourceName": "examples-farmBeatsResourceName"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_Get.json b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_Get.json
new file mode 100644
index 000000000000..f15db77e4d33
--- /dev/null
+++ b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_Get.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2020-05-12-preview",
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "examples-rg",
+ "farmBeatsResourceName": "examples-farmBeatsResourceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/Microsoft.AgFoodPlatform/farmBeats/examples-farmbeatsResourceName",
+ "name": "examples-farmBeatsResourceName",
+ "type": "Microsoft.AgFoodPlatform/farmBeats",
+ "location": "eastus2",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2020-02-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-01T01:01:01.1075056Z"
+ },
+ "properties": {
+ "instanceUri": "https://examples-farmbeatsResourceName.eastus2.farmbeats.azure.net",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_ListByResourceGroup.json b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_ListByResourceGroup.json
new file mode 100644
index 000000000000..69b66f5bec27
--- /dev/null
+++ b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_ListByResourceGroup.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2020-05-12-preview",
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "examples-rg"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/Microsoft.AgFoodPlatform/farmBeats/examples-farmbeatsResourceName",
+ "name": "examples-farmBeatsResourceName",
+ "type": "Microsoft.AgFoodPlatform/farmBeats",
+ "location": "eastus2",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2020-02-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-01T01:01:01.1075056Z"
+ },
+ "properties": {
+ "instanceUri": "https://examples-farmbeatsResourceName.eastus2.farmbeats.azure.net",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_ListBySubscription.json b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_ListBySubscription.json
new file mode 100644
index 000000000000..60ae3f9167ec
--- /dev/null
+++ b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_ListBySubscription.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2020-05-12-preview",
+ "subscriptionId": "11111111-2222-3333-4444-555555555555"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/Microsoft.AgFoodPlatform/farmBeats/examples-farmbeatsResourceName",
+ "name": "examples-farmBeatsResourceName",
+ "type": "Microsoft.AgFoodPlatform/farmBeats",
+ "location": "eastus2",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2020-02-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-01T01:01:01.1075056Z"
+ },
+ "properties": {
+ "instanceUri": "https://examples-farmbeatsResourceName.eastus2.farmbeats.azure.net",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_Update.json b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_Update.json
new file mode 100644
index 000000000000..91916585be34
--- /dev/null
+++ b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_Update.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2020-05-12-preview",
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "examples-rg",
+ "farmBeatsResourceName": "examples-farmBeatsResourceName",
+ "body": {
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/examples-rg/Microsoft.AgFoodPlatform/farmBeats/examples-farmbeatsResourceName",
+ "name": "examples-farmBeatsResourceName",
+ "type": "Microsoft.AgFoodPlatform/farmBeats",
+ "location": "eastus2",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2020-02-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-01T01:01:01.1075056Z"
+ },
+ "properties": {
+ "instanceUri": "https://examples-farmbeatsResourceName.eastus2.farmbeats.azure.net",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Locations_CheckNameAvailability_AlreadyExists.json b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Locations_CheckNameAvailability_AlreadyExists.json
new file mode 100644
index 000000000000..67af64832527
--- /dev/null
+++ b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Locations_CheckNameAvailability_AlreadyExists.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2020-05-12-preview",
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "body": {
+ "name": "existingaccountname",
+ "type": "Microsoft.AgFoodPlatform/farmBeats"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "AlreadyExists",
+ "message": "An account named 'existingaccountname' is already in use."
+ }
+ }
+ }
+}
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Locations_CheckNameAvailability_Available.json b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Locations_CheckNameAvailability_Available.json
new file mode 100644
index 000000000000..c515d3f3c2be
--- /dev/null
+++ b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Locations_CheckNameAvailability_Available.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2020-05-12-preview",
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "body": {
+ "name": "newaccountname",
+ "type": "Microsoft.AgFoodPlatform/farmBeats"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true
+ }
+ }
+ }
+}
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Operations_List.json b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Operations_List.json
new file mode 100644
index 000000000000..a80bbb8e33d4
--- /dev/null
+++ b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Operations_List.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "api-version": "2020-05-12-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.AgFoodPlatform/farmBeats/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft AgFoodPlatform",
+ "resource": "AgFoodPlatform FarmBeats",
+ "operation": "Get or List AgFoodPlatform FarmBeats resource(s).",
+ "description": "Gets or Lists existing AgFoodPlatform FarmBeats resource(s)."
+ }
+ },
+ {
+ "name": "Microsoft.AgFoodPlatform/farmBeats/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft AgFoodPlatform",
+ "resource": "AgFoodPlatform FarmBeats",
+ "operation": "Create or Update AgFoodPlatform FarmBeats.",
+ "description": "Creates or Updates AgFoodPlatform FarmBeats."
+ }
+ },
+ {
+ "name": "Microsoft.AgFoodPlatform/farmBeats/delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft AgFoodPlatform",
+ "resource": "AgFoodPlatform FarmBeats",
+ "operation": "Delete AgFoodPlatform FarmBeats resource.",
+ "description": "Deletes an existing AgFoodPlatform FarmBeats resource."
+ }
+ },
+ {
+ "name": "Microsoft.AgFoodPlatform/locations/checkNameAvailability/action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft AgFoodPlatform",
+ "resource": "Locations",
+ "operation": "Check Name Availability",
+ "description": "Checks that resource name is valid and is not in use."
+ }
+ },
+ {
+ "name": "Microsoft.AgFoodPlatform/operations/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft AgFoodPlatform",
+ "resource": "List all operations in Microsoft AgFoodPlatform resource provider.",
+ "operation": "List all operations.",
+ "description": "List all operations in Microsoft AgFoodPlatform resource provider."
+ }
+ },
+ {
+ "name": "Microsoft.AgFoodPlatform/farmBeats/extensions/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft AgFoodPlatform",
+ "resource": "AgFoodPlatform Extensions",
+ "operation": "Get or List AgFoodPlatform Extensions resource(s).",
+ "description": "Gets or Lists existing AgFoodPlatform Extensions resource(s)."
+ }
+ },
+ {
+ "name": "Microsoft.AgFoodPlatform/farmBeats/extensions/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft AgFoodPlatform",
+ "resource": "AgFoodPlatform Extensions",
+ "operation": "Create or Update AgFoodPlatform Extensions.",
+ "description": "Creates or Updates AgFoodPlatform Extensions."
+ }
+ },
+ {
+ "name": "Microsoft.AgFoodPlatform/farmBeats/extensions/delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft AgFoodPlatform",
+ "resource": "AgFoodPlatform Extensions",
+ "operation": "Delete AgFoodPlatform Extensions resource.",
+ "description": "Deletes an existing AgFoodPlatform Extensions resource."
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/providers/Microsoft.AgFoodPlatform/operations?$skiptoken={token}"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/resource-manager/readme.csharp.md b/specification/agfood/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..9e64c3052486
--- /dev/null
+++ b/specification/agfood/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.AgFoodPlatform
+ output-folder: $(csharp-sdks-folder)/agfood/management/Microsoft.AgFoodPlatform/Generated
+```
diff --git a/specification/agfood/resource-manager/readme.go.md b/specification/agfood/resource-manager/readme.go.md
new file mode 100644
index 000000000000..056ea4b911ef
--- /dev/null
+++ b/specification/agfood/resource-manager/readme.go.md
@@ -0,0 +1,11 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+```yaml $(go) && $(track2)
+license-header: MICROSOFT_MIT_NO_VERSION
+module-name: sdk/agfood/armagfood
+module: github.com/Azure/azure-sdk-for-go/$(module-name)
+output-folder: $(go-sdk-folder)/$(module-name)
+azure-arm: true
+```
diff --git a/specification/agfood/resource-manager/readme.md b/specification/agfood/resource-manager/readme.md
new file mode 100644
index 000000000000..2798ac8e8a73
--- /dev/null
+++ b/specification/agfood/resource-manager/readme.md
@@ -0,0 +1,105 @@
+# agfood
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for agfood.
+
+## Getting Started
+
+To build the SDKs for My API, simply install AutoRest via `npm` (`npm install -g autorest`) and then run:
+
+> `autorest readme.md`
+
+To see additional help and options, run:
+
+> `autorest --help`
+
+For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page.
+
+---
+
+## Configuration
+
+### Basic Information
+
+These are the global settings for the agfood.
+
+```yaml
+openapi-type: arm
+tag: package-2020-05-12-preview
+```
+
+### Tag: package-2020-05-12-preview
+
+These settings apply only when `--tag=package-2020-05-12-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-05-12-preview'
+input-file:
+ - Microsoft.AgFoodPlatform/preview/2020-05-12-preview/agfood.json
+```
+
+---
+
+# Code Generation
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+```yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-python-track2
+ - repo: azure-sdk-for-js
+```
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## TypeScript
+
+See configuration in [readme.typescript.md](./readme.typescript.md)
+
+## CSharp
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
+
+## Suppression
+
+``` yaml
+directive:
+ - from: agfood.json
+ suppress: R3006 # BodyTopLevelProperties
+ where: $.definitions.FarmBeats.properties
+ reason: Currently systemData is not allowed.
+ - from: agfood.json
+ suppress: R3006 # BodyTopLevelProperties
+ where: $.definitions.Extension.properties
+ reason: Currently systemData is not allowed.
+ - from: agfood.json
+ suppress: R3018 # EnumInsteadOfBoolean
+ where:
+ - $.definitions.Operation.properties.isDataAction
+ - $.definitions.CheckNameAvailabilityResult.properties.nameAvailable
+ reason: Booleans are used to indicate binary states of the property, enum is not appropriate.
+ - from: agfood.json
+ suppress: R4000 # DescriptionAndTitleMissing
+ where:
+ - $.definitions.Error.properties.innererror
+ - $.definitions.ErrorResponse.properties.error
+ - $.definitions.Extension.properties.properties
+ - $.definitions.Extension.properties.systemData
+ - $.definitions.FarmBeats.properties.properties
+ - $.definitions.FarmBeats.properties.systemData
+ - $.definitions.InnerError.properties.innererror
+ - $.definitions.Operation.properties.display
+ reason: Model has description added in it's schema.
+ - from: types.json
+ suppress: R4000 # DescriptionAndTitleMissing
+ where: $.definitions.Resource
+ reason: Common type models are inherited.
+```
diff --git a/specification/agfood/resource-manager/readme.python.md b/specification/agfood/resource-manager/readme.python.md
new file mode 100644
index 000000000000..f109f297029c
--- /dev/null
+++ b/specification/agfood/resource-manager/readme.python.md
@@ -0,0 +1,23 @@
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+package-name: azure-mgmt-agfood
+no-namespace-folders: true
+package-version: 1.0.0b1
+clear-output-folder: true
+```
+
+``` yaml $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/agfood/azure-mgmt-agfood/azure/mgmt/agfood
+```
+
+``` yaml $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/agfood/azure-mgmt-agfood
+```
diff --git a/specification/agfood/resource-manager/readme.typescript.md b/specification/agfood/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..c4ad9c4e1545
--- /dev/null
+++ b/specification/agfood/resource-manager/readme.typescript.md
@@ -0,0 +1,15 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+``` yaml $(typescript)
+typescript:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ package-name: "@azure/arm-agfood"
+ output-folder: "$(typescript-sdks-folder)/sdk/agfood/arm-agfood"
+ payload-flattening-threshold: 1
+ clear-output-folder: true
+ generate-metadata: true
+```
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json
index b5be751defbb..c7f52dfc4257 100644
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json
@@ -375,7 +375,7 @@
},
"subscriptionId": {
"name": "subscriptionId",
- "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "description": "The Azure subscription Id.",
"type": "string",
"in": "path",
"required": true
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/SmartDetectorAlertRulesApi.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/SmartDetectorAlertRulesApi.json
new file mode 100644
index 000000000000..3b0b1f8c2644
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/SmartDetectorAlertRulesApi.json
@@ -0,0 +1,751 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Alerts Management Service Resource Provider",
+ "description": "APIs for Azure Smart Detector Alert Rules CRUD operations.",
+ "version": "2021-04-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/microsoft.alertsManagement/smartDetectorAlertRules": {
+ "get": {
+ "tags": [
+ "SmartDetectorAlertRules"
+ ],
+ "operationId": "SmartDetectorAlertRules_List",
+ "description": "List all the existing Smart Detector alert rules within the subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ExpandDetectorParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/SmartDetectorErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Successful request to list Smart Detector alert rules.",
+ "schema": {
+ "$ref": "#/definitions/AlertRulesList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Smart Detector alert rules": {
+ "$ref": "./examples/SmartDetectorAlertRule_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.alertsManagement/smartDetectorAlertRules": {
+ "get": {
+ "tags": [
+ "SmartDetectorAlertRules"
+ ],
+ "operationId": "SmartDetectorAlertRules_ListByResourceGroup",
+ "description": "List all the existing Smart Detector alert rules within the subscription and resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ExpandDetectorParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/SmartDetectorErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Successful request to list Smart Detector alert rules.",
+ "schema": {
+ "$ref": "#/definitions/AlertRulesList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List alert rules": {
+ "$ref": "./examples/SmartDetectorAlertRule_ListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.alertsManagement/smartDetectorAlertRules/{alertRuleName}": {
+ "get": {
+ "tags": [
+ "SmartDetectorAlertRules"
+ ],
+ "operationId": "SmartDetectorAlertRules_Get",
+ "description": "Get a specific Smart Detector alert rule.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AlertRuleNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ExpandDetectorParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/SmartDetectorErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Successful request to get Smart Detector alert rule.",
+ "schema": {
+ "$ref": "#/definitions/AlertRule"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a Smart Detector alert rule": {
+ "$ref": "./examples/SmartDetectorAlertRule_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "SmartDetectorAlertRules"
+ ],
+ "operationId": "SmartDetectorAlertRules_CreateOrUpdate",
+ "description": "Create or update a Smart Detector alert rule.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AlertRuleNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "description": "Parameters supplied to the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AlertRule"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/SmartDetectorErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Successful request to update a Smart Detector alert rule.",
+ "schema": {
+ "$ref": "#/definitions/AlertRule"
+ }
+ },
+ "201": {
+ "description": "Successful request to create a Smart Detector alert rule.",
+ "schema": {
+ "$ref": "#/definitions/AlertRule"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a Smart Detector alert rule": {
+ "$ref": "./examples/SmartDetectorAlertRule_CreateOrUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SmartDetectorAlertRules"
+ ],
+ "operationId": "SmartDetectorAlertRules_Patch",
+ "description": "Patch a specific Smart Detector alert rule.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AlertRuleNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "description": "Parameters supplied to the operation.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AlertRulePatchObject"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/SmartDetectorErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Successful request to patch Smart Detector alert rule.",
+ "schema": {
+ "$ref": "#/definitions/AlertRule"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Patch alert rules": {
+ "$ref": "./examples/SmartDetectorAlertRule_Patch.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "SmartDetectorAlertRules"
+ ],
+ "operationId": "SmartDetectorAlertRules_Delete",
+ "description": "Delete an existing Smart Detector alert rule.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AlertRuleNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/SmartDetectorErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Successful request to delete a Smart Detector alert rule."
+ },
+ "204": {
+ "description": "The Smart Detector alert rule does not exist. It may have already been deleted."
+ }
+ },
+ "x-ms-examples": {
+ "Delete a Smart Detector alert rule": {
+ "$ref": "./examples/SmartDetectorAlertRule_Delete.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "SmartDetectorErrorResponse": {
+ "description": "API error.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/SmartDetectorErrorResponseBody",
+ "description": "The API error body.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "SmartDetectorErrorResponseBody": {
+ "description": "API error body.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ },
+ "ActionGroupsInformation": {
+ "properties": {
+ "customEmailSubject": {
+ "description": "An optional custom email subject to use in email notifications.",
+ "type": "string"
+ },
+ "customWebhookPayload": {
+ "description": "An optional custom web-hook payload to use in web-hook notifications.",
+ "type": "string"
+ },
+ "groupIds": {
+ "description": "The Action Group resource IDs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "groupIds"
+ ],
+ "description": "The Action Groups information, used by the alert rule."
+ },
+ "ThrottlingInformation": {
+ "properties": {
+ "duration": {
+ "description": "The required duration (in ISO8601 format) to wait before notifying on the alert rule again. The time granularity must be in minutes and minimum value is 0 minutes",
+ "type": "string",
+ "format": "duration"
+ }
+ },
+ "description": "Optional throttling information for the alert rule."
+ },
+ "AzureResource": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The resource ID.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource type."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource name."
+ },
+ "location": {
+ "type": "string",
+ "description": "The resource location.",
+ "default": "global"
+ },
+ "tags": {
+ "type": "object",
+ "description": "The resource tags.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-azure-resource": true,
+ "description": "An Azure resource object"
+ },
+ "AlertRule": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AlertRuleProperties",
+ "description": "The properties of the alert rule."
+ }
+ },
+ "description": "The alert rule information"
+ },
+ "AlertRulesList": {
+ "description": "List of Smart Detector alert rules.",
+ "properties": {
+ "value": {
+ "description": "List of Smart Detector alert rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AlertRule"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ }
+ },
+ "AlertRulePatchObject": {
+ "properties": {
+ "id": {
+ "description": "The resource ID.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource type."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource name."
+ },
+ "tags": {
+ "type": "object",
+ "description": "The resource tags.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AlertRulePatchProperties",
+ "description": "The properties of the alert rule.",
+ "minProperties": 1
+ }
+ },
+ "description": "The alert rule patch information"
+ },
+ "Detector": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The detector id."
+ },
+ "parameters": {
+ "description": "The detector's parameters.'",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The Smart Detector name."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The Smart Detector description."
+ },
+ "supportedResourceTypes": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "The Smart Detector supported resource types."
+ },
+ "imagePaths": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "The Smart Detector image path. By default this is not populated, unless it's specified in expandDetector"
+ },
+ "parameterDefinitions": {
+ "type": "array",
+ "readOnly": true,
+ "description": "The Smart Detector parameters definitions.'",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/DetectorParameterDefinition"
+ }
+ },
+ "supportedCadences": {
+ "type": "array",
+ "readOnly": true,
+ "description": "The Smart Detector supported cadences.",
+ "items": {
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "description": "The detector information. By default this is not populated, unless it's specified in expandDetector"
+ },
+ "AlertRuleProperties": {
+ "properties": {
+ "description": {
+ "description": "The alert rule description.",
+ "type": "string"
+ },
+ "state": {
+ "description": "The alert rule state.",
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "AlertRuleState",
+ "modelAsString": true
+ }
+ },
+ "severity": {
+ "description": "The alert rule severity.",
+ "type": "string",
+ "enum": [
+ "Sev0",
+ "Sev1",
+ "Sev2",
+ "Sev3",
+ "Sev4"
+ ],
+ "x-ms-enum": {
+ "name": "Severity",
+ "modelAsString": true
+ }
+ },
+ "frequency": {
+ "description": "The alert rule frequency in ISO8601 format. The time granularity must be in minutes and minimum value is 1 minute, depending on the detector.",
+ "type": "string",
+ "format": "duration"
+ },
+ "detector": {
+ "description": "The alert rule's detector.",
+ "$ref": "#/definitions/Detector"
+ },
+ "scope": {
+ "description": "The alert rule resources scope.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "actionGroups": {
+ "description": "The alert rule actions.",
+ "$ref": "#/definitions/ActionGroupsInformation"
+ },
+ "throttling": {
+ "description": "The alert rule throttling information.",
+ "$ref": "#/definitions/ThrottlingInformation"
+ }
+ },
+ "required": [
+ "state",
+ "severity",
+ "frequency",
+ "detector",
+ "scope",
+ "actionGroups"
+ ],
+ "description": "The alert rule properties."
+ },
+ "AlertRulePatchProperties": {
+ "properties": {
+ "description": {
+ "description": "The alert rule description.",
+ "type": "string"
+ },
+ "state": {
+ "description": "The alert rule state.",
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "AlertRuleState",
+ "modelAsString": true
+ }
+ },
+ "severity": {
+ "description": "The alert rule severity.",
+ "type": "string",
+ "enum": [
+ "Sev0",
+ "Sev1",
+ "Sev2",
+ "Sev3",
+ "Sev4"
+ ],
+ "x-ms-enum": {
+ "name": "Severity",
+ "modelAsString": true
+ }
+ },
+ "frequency": {
+ "description": "The alert rule frequency in ISO8601 format. The time granularity must be in minutes and minimum value is 5 minutes.",
+ "type": "string",
+ "format": "duration"
+ },
+ "actionGroups": {
+ "description": "The alert rule actions.",
+ "$ref": "#/definitions/ActionGroupsInformation"
+ },
+ "throttling": {
+ "description": "The alert rule throttling information.",
+ "$ref": "#/definitions/ThrottlingInformation"
+ }
+ },
+ "description": "The alert rule properties."
+ },
+ "DetectorParameterDefinition": {
+ "type": "object",
+ "description": "The detector parameter definition.",
+ "properties": {
+ "name": {
+ "description": "The detector parameter name.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "The detector parameter display name.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The detector parameter description.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The detector parameter type.",
+ "type": "string",
+ "enum": [
+ "String",
+ "Integer",
+ "Double",
+ "Boolean",
+ "DateTime"
+ ],
+ "x-ms-enum": {
+ "name": "DetectorParameterType",
+ "values": [
+ {
+ "value": "String",
+ "description": "Defines a string parameter."
+ },
+ {
+ "value": "Integer",
+ "description": "Defines an integer parameter."
+ },
+ {
+ "value": "Double",
+ "description": "Defines a double parameter."
+ },
+ {
+ "value": "Boolean",
+ "description": "Defines a boolean parameter."
+ },
+ {
+ "value": "DateTime",
+ "description": "Defines a DateTime parameter."
+ }
+ ],
+ "modelAsString": true
+ }
+ },
+ "isMandatory": {
+ "description": "A value indicating whether this detector parameter is mandatory.",
+ "type": "boolean"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Azure subscription Id.",
+ "minLength": 1
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "AlertRuleNameParameter": {
+ "name": "alertRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the alert rule.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ },
+ "ExpandDetectorParameter": {
+ "name": "expandDetector",
+ "in": "query",
+ "type": "boolean",
+ "description": "Indicates if Smart Detector should be expanded.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/examples/SmartDetectorAlertRule_CreateOrUpdate.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/examples/SmartDetectorAlertRule_CreateOrUpdate.json
new file mode 100644
index 000000000000..8eeb0cbc7eb1
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/examples/SmartDetectorAlertRule_CreateOrUpdate.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "subscriptionId": "b368ca2f-e298-46b7-b0ab-012281956afa",
+ "resourceGroupName": "MyAlertRules",
+ "alertRuleName": "MyAlertRule",
+ "api-version": "2021-04-01",
+ "parameters": {
+ "properties": {
+ "description": "Sample smart detector alert rule description",
+ "state": "Enabled",
+ "severity": "Sev3",
+ "frequency": "PT5M",
+ "detector": {
+ "id": "VMMemoryLeak"
+ },
+ "scope": [
+ "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/MyVms/providers/Microsoft.Compute/virtualMachines/vm1"
+ ],
+ "actionGroups": {
+ "customEmailSubject": "My custom email subject",
+ "customWebhookPayload": "{\"AlertRuleName\":\"#alertrulename\"}",
+ "groupIds": [
+ "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourcegroups/actionGroups/providers/microsoft.insights/actiongroups/MyActionGroup"
+ ]
+ },
+ "throttling": {
+ "duration": "PT20M"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/MyAlertRules/providers/microsoft.alertsManagement/smartDetectorAlertRules/MyAlertRule",
+ "type": "Microsoft.AlertsManagement/smartDetectorAlertRules",
+ "name": "MyAlertRule",
+ "location": "global",
+ "tags": {},
+ "properties": {
+ "description": "Sample smart detector alert rule description",
+ "state": "Enabled",
+ "severity": "Sev3",
+ "frequency": "PT5M",
+ "detector": {
+ "id": "VMMemoryLeak"
+ },
+ "scope": [
+ "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/MyVms/providers/Microsoft.Compute/virtualMachines/vm1"
+ ],
+ "actionGroups": [
+ {
+ "actionGroupId": "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourcegroups/actionGroups/providers/microsoft.insights/actiongroups/MyActionGroup"
+ }
+ ],
+ "throttling": {
+ "duration": "PT20M"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/MyAlertRules/providers/microsoft.alertsManagement/smartDetectorAlertRules/MyAlertRule",
+ "type": "Microsoft.AlertsManagement/smartDetectorAlertRules",
+ "name": "MyAlertRule",
+ "location": "global",
+ "tags": {},
+ "properties": {
+ "description": "Sample smart detector alert rule description",
+ "state": "Enabled",
+ "severity": "Sev3",
+ "frequency": "PT5M",
+ "detector": {
+ "id": "VMMemoryLeak"
+ },
+ "scope": [
+ "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/MyVms/providers/Microsoft.Compute/virtualMachines/vm1"
+ ],
+ "actionGroups": [
+ {
+ "actionGroupId": "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourcegroups/actionGroups/providers/microsoft.insights/actiongroups/MyActionGroup"
+ }
+ ],
+ "throttling": {
+ "duration": "PT20M"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/examples/SmartDetectorAlertRule_Delete.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/examples/SmartDetectorAlertRule_Delete.json
new file mode 100644
index 000000000000..e643abd765c2
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/examples/SmartDetectorAlertRule_Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "b368ca2f-e298-46b7-b0ab-012281956afa",
+ "resourceGroupName": "MyAlertRules",
+ "alertRuleName": "MyAlertRule",
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/examples/SmartDetectorAlertRule_Get.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/examples/SmartDetectorAlertRule_Get.json
new file mode 100644
index 000000000000..ce73878725a3
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/examples/SmartDetectorAlertRule_Get.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "b368ca2f-e298-46b7-b0ab-012281956afa",
+ "resourceGroupName": "MyAlertRules",
+ "alertRuleName": "MyAlertRule",
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/MyAlertRules/providers/microsoft.alertsManagement/smartDetectorAlertRules/MyAlertRule",
+ "type": "Microsoft.AlertsManagement/smartDetectorAlertRules",
+ "name": "MyAlertRule",
+ "location": "global",
+ "tags": {},
+ "properties": {
+ "description": "Sample smart detector alert rule description",
+ "state": "Enabled",
+ "severity": "Sev3",
+ "frequency": "PT5M",
+ "detector": {
+ "id": "VMMemoryLeak",
+ "name": "Memory Leak in VM",
+ "description": "Alerts on a consistent increase in memory consumption over a long period of time",
+ "supportedCadences": [
+ 1
+ ],
+ "supportedResourceTypes": [
+ "VirtualMachine"
+ ],
+ "parameterDefinitions": []
+ },
+ "scope": [
+ "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/MyVms/providers/Microsoft.Compute/virtualMachines/vm1"
+ ],
+ "actionGroups": [
+ {
+ "actionGroupId": "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourcegroups/MyActionGroups/providers/microsoft.insights/actionGroups/MyActionGroup"
+ }
+ ],
+ "throttling": {
+ "duration": "PT20M"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/examples/SmartDetectorAlertRule_List.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/examples/SmartDetectorAlertRule_List.json
new file mode 100644
index 000000000000..44790632e009
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/examples/SmartDetectorAlertRule_List.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "subscriptionId": "b368ca2f-e298-46b7-b0ab-012281956afa",
+ "resourceGroupName": "MyAlertRules",
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": null,
+ "value": [
+ {
+ "id": "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/MyAlertRules/providers/microsoft.alertsManagement/smartDetectorAlertRules/MyAlertRule",
+ "type": "Microsoft.AlertsManagement/smartDetectorAlertRules",
+ "name": "MyAlertRule",
+ "location": "global",
+ "tags": {},
+ "properties": {
+ "description": "Sample smart detector alert rule description",
+ "state": "Enabled",
+ "severity": "Sev3",
+ "frequency": "PT5M",
+ "detector": {
+ "id": "VMMemoryLeak"
+ },
+ "scope": [
+ "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/vms/providers/Microsoft.Compute/virtualMachines/vm1"
+ ],
+ "actionGroups": [
+ {
+ "actionGroupId": "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourcegroups/MyActionGroups/providers/microsoft.insights/actionGroups/MyActionGroup"
+ }
+ ],
+ "throttling": {
+ "duration": "PT20M"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/MyAlertRules/providers/microsoft.alertsManagement/smartDetectorAlertRules/MySecondAlertRule",
+ "type": "Microsoft.AlertsManagement/smartDetectorAlertRules",
+ "name": "MySecondAlertRule",
+ "location": "global",
+ "tags": {},
+ "properties": {
+ "description": "Sample smart detector alert rule description",
+ "state": "Disabled",
+ "severity": "Sev2",
+ "frequency": "PT15M",
+ "detector": {
+ "id": "VMMemoryLeak"
+ },
+ "scope": [
+ "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/vms/providers/Microsoft.Compute/virtualMachines/vm2"
+ ],
+ "actionGroups": [
+ {
+ "actionGroupId": "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourcegroups/MyActionGroups/providers/microsoft.insights/actionGroups/MyActionGroup"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/examples/SmartDetectorAlertRule_ListByResourceGroup.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/examples/SmartDetectorAlertRule_ListByResourceGroup.json
new file mode 100644
index 000000000000..ab7783902c79
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/examples/SmartDetectorAlertRule_ListByResourceGroup.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "subscriptionId": "b368ca2f-e298-46b7-b0ab-012281956afa",
+ "resourceGroupName": "MyAlertRules",
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": null,
+ "value": [
+ {
+ "id": "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/MyAlertRules/providers/microsoft.alertsManagement/smartDetectorAlertRules/MyAlertRule",
+ "type": "Microsoft.AlertsManagement/smartDetectorAlertRules",
+ "name": "MyAlertRule",
+ "location": "global",
+ "tags": {},
+ "properties": {
+ "description": "Sample smart detector alert rule description",
+ "state": "Enabled",
+ "severity": "Sev3",
+ "frequency": "PT5M",
+ "detector": {
+ "id": "VMMemoryLeak"
+ },
+ "scope": [
+ "/subscriptions/b324c52b-4073-4807-93af-e07d289c093e/resourceGroups/test/providers/Microsoft.Storage/storageAccounts/larryshoebox/blobServices/default"
+ ],
+ "actionGroups": [
+ {
+ "actionGroupId": "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourcegroups/MyActionGroups/providers/microsoft.insights/actionGroups/MyActionGroup"
+ }
+ ],
+ "throttling": {
+ "duration": "PT20M"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/MyAlertRules/providers/microsoft.alertsManagement/smartDetectorAlertRules/MySecondAlertRule",
+ "type": "Microsoft.AlertsManagement/smartDetectorAlertRules",
+ "name": "MySecondAlertRule",
+ "location": "global",
+ "tags": {},
+ "properties": {
+ "description": "Sample smart detector alert rule description",
+ "state": "Disabled",
+ "severity": "Sev2",
+ "frequency": "PT15M",
+ "detector": {
+ "id": "VMMemoryLeak"
+ },
+ "scope": [
+ "/subscriptions/b324c52b-4073-4807-93af-e07d289c093e/resourceGroups/test/providers/Microsoft.Storage/storageAccounts/larryshoebox/blobServices/default"
+ ],
+ "actionGroups": [
+ {
+ "actionGroupId": "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourcegroups/MyActionGroups/providers/microsoft.insights/actionGroups/MyActionGroup"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/examples/SmartDetectorAlertRule_Patch.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/examples/SmartDetectorAlertRule_Patch.json
new file mode 100644
index 000000000000..9ece49807712
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/examples/SmartDetectorAlertRule_Patch.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "b368ca2f-e298-46b7-b0ab-012281956afa",
+ "resourceGroupName": "MyAlertRules",
+ "alertRuleName": "MyAlertRule",
+ "api-version": "2021-04-01",
+ "parameters": {
+ "tags": {
+ "newKey": "newVal"
+ },
+ "properties": {
+ "description": "New description for patching",
+ "frequency": "PT1M"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/MyAlertRules/providers/microsoft.alertsManagement/smartDetectorAlertRules/MyAlertRule",
+ "type": "Microsoft.AlertsManagement/smartDetectorAlertRules",
+ "name": "MyAlertRule",
+ "location": "global",
+ "tags": {
+ "newKey": "newVal"
+ },
+ "properties": {
+ "description": "New description for patching",
+ "state": "Enabled",
+ "severity": "Sev3",
+ "frequency": "PT1M",
+ "detector": {
+ "id": "VMMemoryLeak"
+ },
+ "scope": [
+ "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/MyVms/providers/Microsoft.Compute/virtualMachines/vm1"
+ ],
+ "actionGroups": [
+ {
+ "actionGroupId": "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourcegroups/actionGroups/providers/microsoft.insights/actiongroups/MyActionGroup"
+ }
+ ],
+ "throttling": {
+ "duration": "PT20M"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/readme.azureresourceschema.md b/specification/alertsmanagement/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index 7ce77518edb5..000000000000
--- a/specification/alertsmanagement/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,101 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-alertsmanagement-2021-01-01-preview
- - tag: schema-alertsmanagement-2020-08-04-preview
- - tag: schema-alertsmanagement-2019-06-01
- - tag: schema-alertsmanagement-2019-05-05-preview
- - tag: schema-alertsmanagement-2019-03-01
- - tag: schema-alertsmanagement-2018-05-05-preview
- - tag: schema-alertsmanagement-2018-05-05
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-alertsmanagement-2021-01-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-alertsmanagement-2021-01-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AlertsManagement/preview/2021-01-01-preview/AlertsManagement.json
- - Microsoft.AlertsManagement/preview/2021-01-01-preview/MigrateFromSmartDetections.json
-
-```
-
-### Tag: schema-alertsmanagement-2020-08-04-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-alertsmanagement-2020-08-04-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AlertsManagement/preview/2020-08-04-preview/AlertsManagement.json
- - Microsoft.AlertsManagement/preview/2020-08-04-preview/ResourceHealthAlertRules.json
-
-```
-
-### Tag: schema-alertsmanagement-2019-06-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-alertsmanagement-2019-06-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json
-
-```
-
-### Tag: schema-alertsmanagement-2019-05-05-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-alertsmanagement-2019-05-05-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json
- - Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json
- - Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json
-
-```
-
-### Tag: schema-alertsmanagement-2019-03-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-alertsmanagement-2019-03-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json
- - Microsoft.AlertsManagement/stable/2019-03-01/SmartDetectorAlertRulesApi.json
-
-```
-
-### Tag: schema-alertsmanagement-2018-05-05-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-alertsmanagement-2018-05-05-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AlertsManagement/preview/2018-05-05-preview/AlertsManagement.json
-
-```
-
-### Tag: schema-alertsmanagement-2018-05-05 and azureresourceschema
-
-``` yaml $(tag) == 'schema-alertsmanagement-2018-05-05' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AlertsManagement/stable/2018-05-05/AlertsManagement.json
-
-```
diff --git a/specification/alertsmanagement/resource-manager/readme.go.md b/specification/alertsmanagement/resource-manager/readme.go.md
index 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 61382bb09f41..fff705d11ce5 100644
--- a/specification/alertsmanagement/resource-manager/readme.md
+++ b/specification/alertsmanagement/resource-manager/readme.md
@@ -45,6 +45,16 @@ tag: package-2019-06-preview
```
+
+### Tag: package-2021-04-only
+
+These settings apply only when `--tag=package-2021-04-only` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-04-only'
+input-file:
+ - Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json
+ - Microsoft.AlertsManagement/stable/2021-04-01/SmartDetectorAlertRulesApi.json
+```
### Tag: package-preview-2021-01
These settings apply only when `--tag=package-preview-2021-01` is specified on the command line.
@@ -143,8 +153,6 @@ swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-trenton
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js alertsmanagement/resource-manager
```
## C#
@@ -175,7 +183,5 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/alertsmanagement/resource-manager/readme.terraform.md b/specification/alertsmanagement/resource-manager/readme.terraform.md
index c5379b2d06c2..7dc2171003dc 100644
--- a/specification/alertsmanagement/resource-manager/readme.terraform.md
+++ b/specification/alertsmanagement/resource-manager/readme.terraform.md
@@ -51,3 +51,22 @@ terraform:
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/analysisservices/resource-manager/readme.azureresourceschema.md b/specification/analysisservices/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index d89301b2b8b3..000000000000
--- a/specification/analysisservices/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,48 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-analysisservices-2017-08-01
- - tag: schema-analysisservices-2017-07-14
- - tag: schema-analysisservices-2016-05-16
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-analysisservices-2017-08-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-analysisservices-2017-08-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AnalysisServices/stable/2017-08-01/analysisservices.json
-
-```
-
-### Tag: schema-analysisservices-2017-07-14 and azureresourceschema
-
-``` yaml $(tag) == 'schema-analysisservices-2017-07-14' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AnalysisServices/stable/2017-07-14/analysisservices.json
-
-```
-
-### Tag: schema-analysisservices-2016-05-16 and azureresourceschema
-
-``` yaml $(tag) == 'schema-analysisservices-2016-05-16' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AnalysisServices/stable/2016-05-16/analysisservices.json
-
-```
diff --git a/specification/analysisservices/resource-manager/readme.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/analysisservices/resource-manager/readme.md b/specification/analysisservices/resource-manager/readme.md
index 1e60c46b1f69..37c2cb8c62f6 100644
--- a/specification/analysisservices/resource-manager/readme.md
+++ b/specification/analysisservices/resource-manager/readme.md
@@ -85,8 +85,6 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_analysis_services']
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js analysisservices/resource-manager
```
@@ -186,7 +184,5 @@ generate-interface: true
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
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 ad9da03f1dc6..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
@@ -1521,7 +1521,7 @@
"properties": {
"domainOwnershipIdentifier": {
"type": "string",
- "description": "The domain ownership identifer value.",
+ "description": "The domain ownership identifier value.",
"readOnly": true
}
},
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/apimcontenttypes.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/apimcontenttypes.json
index 70b1f5dbff50..f566930f5e1f 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/apimcontenttypes.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/apimcontenttypes.json
@@ -40,7 +40,7 @@
"ContentType"
],
"operationId": "ContentType_ListByService",
- "description": "Returns list of content types",
+ "description": "Lists the developer portal's content types. Content types describe content items' properties, validation rules, and constraints.",
"x-ms-examples": {
"ApiManagementListContentTypes": {
"$ref": "./examples/ApiManagementListContentTypes.json"
@@ -62,7 +62,7 @@
],
"responses": {
"200": {
- "description": "Lists a collection of content type entities.",
+ "description": "Returns a collection of the Content Type entities.",
"schema": {
"$ref": "./definitions.json#/definitions/ContentTypeCollection"
}
@@ -85,7 +85,7 @@
"ContentType"
],
"operationId": "ContentType_Get",
- "description": "Gets API Management content type details.",
+ "description": "Gets the details of the developer portal's content type. Content types describe content items' properties, validation rules, and constraints.",
"x-ms-examples": {
"ApiManagementGetContentType": {
"$ref": "./examples/ApiManagementGetContentType.json"
@@ -110,7 +110,7 @@
],
"responses": {
"200": {
- "description": "Get the details of the content type.",
+ "description": "Returns the details of the specified content type.",
"schema": {
"$ref": "./definitions.json#/definitions/ContentTypeContract"
},
@@ -134,7 +134,7 @@
"ContentType"
],
"operationId": "ContentType_CreateOrUpdate",
- "description": "Creates or updates an Content Type.",
+ "description": "Creates or updates the developer portal's content type. Content types describe content items' properties, validation rules, and constraints. Custom content types' identifiers need to start with the `c-` prefix. Built-in content types can't be modified.",
"x-ms-examples": {
"ApiManagementCreateContentType": {
"$ref": "./examples/ApiManagementCreateContentType.json"
@@ -162,7 +162,7 @@
],
"responses": {
"201": {
- "description": "Content type was successfully created.",
+ "description": "The content type was successfully created.",
"headers": {
"ETag": {
"description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
@@ -198,7 +198,7 @@
"ContentType"
],
"operationId": "ContentType_Delete",
- "description": "Removes specified content type.",
+ "description": "Removes the specified developer portal's content type. Content types describe content items' properties, validation rules, and constraints. Built-in content types (with identifiers starting with the `c-` prefix) can't be removed.",
"x-ms-examples": {
"ApiManagementDeleteContentType": {
"$ref": "./examples/ApiManagementDeleteContentType.json"
@@ -246,7 +246,7 @@
"ContentTypeContentItem"
],
"operationId": "ContentItem_ListByService",
- "description": "Returns list of content items",
+ "description": "Lists developer portal's content items specified by the provided content type.",
"x-ms-examples": {
"ApiManagementListContentTypeContentItems": {
"$ref": "./examples/ApiManagementListContentTypeContentItems.json"
@@ -271,7 +271,7 @@
],
"responses": {
"200": {
- "description": "Lists a collection of Content Type entities.",
+ "description": "Returns a collection of Content Type entities.",
"schema": {
"$ref": "./definitions.json#/definitions/ContentItemCollection"
}
@@ -294,7 +294,7 @@
"ContentTypeContentItem"
],
"operationId": "ContentItem_GetEntityTag",
- "description": "Returns content item metadata",
+ "description": "Returns the entity state (ETag) version of the developer portal's content item specified by its identifier.",
"x-ms-examples": {
"ApiManagementHeadContentTypeContentItem": {
"$ref": "./examples/ApiManagementHeadContentTypeContentItem.json"
@@ -343,7 +343,7 @@
"ContentTypeContentItem"
],
"operationId": "ContentItem_Get",
- "description": "Returns content item details",
+ "description": "Returns the developer portal's content item specified by its identifier.",
"x-ms-examples": {
"ApiManagementGetContentTypeContentItem": {
"$ref": "./examples/ApiManagementGetContentTypeContentItem.json"
@@ -371,7 +371,7 @@
],
"responses": {
"200": {
- "description": "Get the details of the content item.",
+ "description": "Returns the content item.",
"schema": {
"$ref": "./definitions.json#/definitions/ContentItemContract"
},
@@ -395,7 +395,7 @@
"ContentTypeContentItem"
],
"operationId": "ContentItem_CreateOrUpdate",
- "description": "Creates new content item",
+ "description": "Creates a new developer portal's content item specified by the provided content type.",
"x-ms-examples": {
"ApiManagementCreateContentTypeContentItem": {
"$ref": "./examples/ApiManagementCreateContentTypeContentItem.json"
@@ -426,7 +426,7 @@
],
"responses": {
"201": {
- "description": "Content item was successfully created.",
+ "description": "The content item was successfully created.",
"headers": {
"ETag": {
"description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
@@ -462,7 +462,7 @@
"ContentTypeContentItem"
],
"operationId": "ContentItem_Delete",
- "description": "Removes specified content item.",
+ "description": "Removes the specified developer portal's content item.",
"x-ms-examples": {
"ApiManagementDeleteContentTypeContentItem": {
"$ref": "./examples/ApiManagementDeleteContentTypeContentItem.json"
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/apimportalrevisions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/apimportalrevisions.json
index 6a1d3ea6cfba..c70f56bc6af2 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/apimportalrevisions.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/apimportalrevisions.json
@@ -40,7 +40,7 @@
"PortalRevision"
],
"operationId": "PortalRevision_ListByService",
- "description": "Lists a collection of developer portal revision entities.",
+ "description": "Lists developer portal's revisions.",
"x-ms-examples": {
"ApiManagementListPortalRevisions": {
"$ref": "./examples/ApiManagementListPortalRevisions.json"
@@ -75,7 +75,7 @@
],
"responses": {
"200": {
- "description": "Lists a collection of developer portal revision entities.",
+ "description": "Lists portal's revisions.",
"schema": {
"$ref": "./definitions.json#/definitions/PortalRevisionCollection"
}
@@ -98,7 +98,7 @@
"PortalRevision"
],
"operationId": "PortalRevision_GetEntityTag",
- "description": "Gets developer portal revision specified by its identifier.",
+ "description": "Gets the developer portal revision specified by its identifier.",
"x-ms-examples": {
"ApiManagementHeadPortalRevision": {
"$ref": "./examples/ApiManagementHeadPortalRevision.json"
@@ -123,7 +123,7 @@
],
"responses": {
"200": {
- "description": "Specified Portal revision entity exists and current entity state version is present in the ETag header.",
+ "description": "The specified portal revision entity exists and current entity state version is present in the ETag header.",
"headers": {
"ETag": {
"description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
@@ -144,7 +144,7 @@
"PortalRevision"
],
"operationId": "PortalRevision_Get",
- "description": "Gets developer portal revision specified by its identifier.",
+ "description": "Gets the developer portal's revision specified by its identifier.",
"x-ms-examples": {
"ApiManagementGetPortalRevision": {
"$ref": "./examples/ApiManagementGetPortalRevision.json"
@@ -169,7 +169,7 @@
],
"responses": {
"200": {
- "description": "Gets the specified developer portal revision entity.",
+ "description": "Gets the specified portal's revision.",
"schema": {
"$ref": "./definitions.json#/definitions/PortalRevisionContract"
},
@@ -193,7 +193,7 @@
"PortalRevision"
],
"operationId": "PortalRevision_CreateOrUpdate",
- "description": "Creates a new developer portal revision.",
+ "description": "Creates a new developer portal's revision by running the portal's publishing. The `isCurrent` property indicates if the revision is publicly accessible.",
"x-ms-examples": {
"ApiManagementCreatePortalRevision": {
"$ref": "./examples/ApiManagementCreatePortalRevision.json"
@@ -226,10 +226,10 @@
],
"responses": {
"202": {
- "description": "Request to create developer portal revision was accepted."
+ "description": "Request to create a developer portal revision was accepted."
},
"201": {
- "description": "Developer portal revision was successfully created.",
+ "description": "The developer portal revision was successfully created.",
"schema": {
"$ref": "./definitions.json#/definitions/PortalRevisionContract"
},
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/definitions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/definitions.json
index 216fe4a2983a..d6d917f5d309 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/definitions.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/definitions.json
@@ -231,14 +231,14 @@
"readOnly": true
}
},
- "description": "Paged Api list representation."
+ "description": "Paged API list representation."
},
"ApiContract": {
"properties": {
"properties": {
"x-ms-client-flatten": true,
"$ref": "#/definitions/ApiContractProperties",
- "description": "Api entity contract properties."
+ "description": "API entity contract properties."
}
},
"allOf": [
@@ -246,7 +246,7 @@
"$ref": "./apimanagement.json#/definitions/Resource"
}
],
- "description": "Api details."
+ "description": "API details."
},
"ApiContractProperties": {
"properties": {
@@ -302,14 +302,14 @@
"required": [
"path"
],
- "description": "Api Entity Properties"
+ "description": "API Entity Properties"
},
"ApiCreateOrUpdateParameter": {
"properties": {
"properties": {
"x-ms-client-flatten": true,
"$ref": "#/definitions/ApiCreateOrUpdateProperties",
- "description": "Api entity create of update properties."
+ "description": "API entity create of update properties."
}
},
"description": "API Create or Update Parameters."
@@ -398,7 +398,7 @@
},
"apiType": {
"type": "string",
- "description": "Type of Api to create. \n * `http` creates a REST API \n * `soap` creates a SOAP pass-through API \n * `websocket` creates websocket API.",
+ "description": "Type of API to create. \n * `http` creates a REST API \n * `soap` creates a SOAP pass-through API \n * `websocket` creates websocket API.",
"enum": [
"http",
"soap",
@@ -433,7 +433,7 @@
"$ref": "#/definitions/ApiContractProperties"
}
],
- "description": "Api Create or Update Properties."
+ "description": "API Create or Update Properties."
},
"ApiEntityBaseContract": {
"properties": {
@@ -465,13 +465,13 @@
},
"apiRevision": {
"type": "string",
- "description": "Describes the Revision of the Api. If no value is provided, default revision 1 is created",
+ "description": "Describes the revision of the API. If no value is provided, default revision 1 is created",
"minLength": 1,
"maxLength": 100
},
"apiVersion": {
"type": "string",
- "description": "Indicates the Version identifier of the API if the API is versioned",
+ "description": "Indicates the version identifier of the API if the API is versioned",
"maxLength": 100
},
"isCurrent": {
@@ -485,12 +485,12 @@
},
"apiRevisionDescription": {
"type": "string",
- "description": "Description of the Api Revision.",
+ "description": "Description of the API Revision.",
"maxLength": 256
},
"apiVersionDescription": {
"type": "string",
- "description": "Description of the Api Version.",
+ "description": "Description of the API Version.",
"maxLength": 256
},
"apiVersionSetId": {
@@ -569,31 +569,31 @@
"values": [
{
"value": "swagger-link-json",
- "description": "The Api Definition is exported in OpenApi Specification 2.0 format to the Storage Blob.",
+ "description": "The API Definition is exported in OpenAPI Specification 2.0 format to the Storage Blob.",
"name": "Swagger"
},
{
"value": "wsdl-link+xml",
- "description": "The Api Definition is exported in WSDL Schema to Storage Blob. This is only supported for APIs of Type `soap`",
+ "description": "The API Definition is exported in WSDL Schema to Storage Blob. This is only supported for APIs of Type `soap`",
"name": "Wsdl"
},
{
"value": "wadl-link-json",
- "description": "Export the Api Definition in WADL Schema to Storage Blob.",
+ "description": "Export the API Definition in WADL Schema to Storage Blob.",
"name": "Wadl"
},
{
"value": "openapi-link",
- "description": "Export the Api Definition in OpenApi Specification 3.0 to Storage Blob.",
+ "description": "Export the API Definition in OpenAPI Specification 3.0 to Storage Blob.",
"name": "OpenApi"
}
]
},
- "description": "Format in which the Api Details are exported to the Storage Blob with Sas Key valid for 5 minutes."
+ "description": "Format in which the API Details are exported to the Storage Blob with Sas Key valid for 5 minutes."
},
"value": {
"type": "object",
- "description": "The object defining the schema of the exported Api Detail",
+ "description": "The object defining the schema of the exported API Detail",
"properties": {
"link": {
"type": "string",
@@ -688,7 +688,7 @@
"readOnly": true
}
},
- "description": "Paged Api Revision list representation."
+ "description": "Paged API Revision list representation."
},
"ApiRevisionContract": {
"properties": {
@@ -886,14 +886,14 @@
"description": "Next page link if any."
}
},
- "description": "Paged Api Version Set list representation."
+ "description": "Paged API Version Set list representation."
},
"ApiVersionSetContract": {
"properties": {
"properties": {
"x-ms-client-flatten": true,
"$ref": "#/definitions/ApiVersionSetContractProperties",
- "description": "Api VersionSet contract properties."
+ "description": "API VersionSet contract properties."
}
},
"allOf": [
@@ -901,7 +901,7 @@
"$ref": "./apimanagement.json#/definitions/Resource"
}
],
- "description": "Api Version Set Contract details."
+ "description": "API Version Set Contract details."
},
"ApiVersionSetContractDetails": {
"description": "An API Version Set contains the common configuration for a set of API Versions relating ",
@@ -1003,17 +1003,17 @@
"maxLength": 100
}
},
- "description": "Api Version set base parameters"
+ "description": "API Version set base parameters"
},
"ApiVersionSetUpdateParameters": {
"properties": {
"properties": {
"x-ms-client-flatten": true,
"$ref": "#/definitions/ApiVersionSetUpdateParametersProperties",
- "description": "Parameters to update or create an Api Version Set Contract."
+ "description": "Parameters to update or create an API Version Set Contract."
}
},
- "description": "Parameters to update or create an Api Version Set Contract."
+ "description": "Parameters to update or create an API Version Set Contract."
},
"ApiVersionSetUpdateParametersProperties": {
"properties": {
@@ -1434,7 +1434,7 @@
},
"resourceId": {
"type": "string",
- "description": "Management Uri of the Resource in External System. This url can be the Arm Resource Id of Logic Apps, Function Apps or Api Apps.",
+ "description": "Management Uri of the Resource in External System. This url can be the Arm Resource Id of Logic Apps, Function Apps or API Apps.",
"minLength": 1,
"maxLength": 2000
},
@@ -2258,7 +2258,7 @@
},
"isDefault": {
"type": "boolean",
- "description": "Whether the template is the default template provided by Api Management or has been edited.",
+ "description": "Whether the template is the default template provided by API Management or has been edited.",
"readOnly": true
},
"parameters": {
@@ -3020,7 +3020,7 @@
"properties": {
"secretIdentifier": {
"type": "string",
- "description": "Key vault secret identifier for fetching secret. Providing a versioned secret will prevent auto-refresh. This requires Api Management service to be configured with aka.ms/apimmsi"
+ "description": "Key vault secret identifier for fetching secret. Providing a versioned secret will prevent auto-refresh. This requires API Management service to be configured with aka.ms/apimmsi"
},
"identityClientId": {
"type": "string",
@@ -3441,7 +3441,7 @@
"$ref": "./apimanagement.json#/definitions/Resource"
}
],
- "description": "Api Operation details."
+ "description": "API Operation details."
},
"OperationContractProperties": {
"properties": {
@@ -3508,9 +3508,24 @@
"description": "Operation Policies"
}
},
- "description": "Api Operation Entity Base Contract details."
+ "description": "API Operation Entity Base Contract details."
},
"OperationResultContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationResultContractProperties",
+ "description": "Properties of the Operation Contract."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Long Running Git Operation Results."
+ },
+ "OperationResultContractProperties": {
"properties": {
"id": {
"type": "string",
@@ -3589,17 +3604,17 @@
},
"apiName": {
"type": "string",
- "description": "Api Name.",
+ "description": "API Name.",
"readOnly": true
},
"apiRevision": {
"type": "string",
- "description": "Api Revision.",
+ "description": "API Revision.",
"readOnly": true
},
"apiVersion": {
"type": "string",
- "description": "Api Version.",
+ "description": "API Version.",
"readOnly": true
},
"description": {
@@ -3632,7 +3647,7 @@
"description": "Properties of the API Operation entity that can be updated."
}
},
- "description": "Api Operation Update Contract details."
+ "description": "API Operation Update Contract details."
},
"OperationUpdateContractProperties": {
"properties": {
@@ -4922,7 +4937,7 @@
"items": {
"$ref": "#/definitions/SchemaContract"
},
- "description": "Api Schema Contract value.",
+ "description": "API Schema Contract value.",
"readOnly": true
},
"count": {
@@ -5441,7 +5456,7 @@
},
"api": {
"$ref": "#/definitions/ApiTagResourceContractProperties",
- "description": "Api associated with the tag."
+ "description": "API associated with the tag."
},
"operation": {
"$ref": "#/definitions/OperationTagResourceContractProperties",
@@ -5473,6 +5488,16 @@
"description": "Contract defining the Tag property in the Tag Resource Contract"
},
"TenantConfigurationSyncStateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TenantConfigurationSyncStateContractProperties",
+ "description": "Properties returned Tenant Configuration Sync State check."
+ }
+ },
+ "description": "Result of Tenant Configuration Sync State."
+ },
+ "TenantConfigurationSyncStateContractProperties": {
"properties": {
"branch": {
"type": "string",
@@ -5503,6 +5528,10 @@
"type": "string",
"format": "date-time",
"description": "The date of the latest configuration change. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "lastOperationId": {
+ "type": "string",
+ "description": "Most recent tenant configuration operation identifier"
}
},
"description": "Tenant Configuration Synchronization State."
@@ -6324,19 +6353,19 @@
"readOnly": true
}
},
- "description": "Paged deleted Api Management Services List Representation."
+ "description": "Paged deleted API Management Services List Representation."
},
"DeletedServiceContract": {
"properties": {
"properties": {
"x-ms-client-flatten": true,
"$ref": "#/definitions/DeletedServiceContractProperties",
- "description": "Deleted Api Management Service details."
+ "description": "Deleted API Management Service details."
},
"location": {
"readOnly": true,
"type": "string",
- "description": "Api Management Service Master Location."
+ "description": "API Management Service Master Location."
}
},
"allOf": [
@@ -6344,7 +6373,7 @@
"$ref": "./apimanagement.json#/definitions/Resource"
}
],
- "description": "Deleted Api Management Service information."
+ "description": "Deleted API Management Service information."
},
"DeletedServiceContractProperties": {
"properties": {
@@ -6395,7 +6424,7 @@
"$ref": "./apimanagement.json#/definitions/Resource"
}
],
- "description": "Portal revisions contract details."
+ "description": "Portal Revision's contract details."
},
"PortalRevisionContractProperties": {
"properties": {
@@ -6412,7 +6441,7 @@
},
"status": {
"type": "string",
- "description": "Portal revision publishing status",
+ "description": "Status of the portal's revision.",
"enum": [
"pending",
"publishing",
@@ -6425,19 +6454,19 @@
"values": [
{
"value": "pending",
- "description": "Portal revision publishing is pending"
+ "description": "Portal's revision has been queued."
},
{
"value": "publishing",
- "description": "Portal revision is publishing"
+ "description": "Portal's revision is being published."
},
{
"value": "completed",
- "description": "Portal revision publishing completed"
+ "description": "Portal's revision publishing completed."
},
{
"value": "failed",
- "description": "Portal revision publishing failed"
+ "description": "Portal's revision publishing failed."
}
]
},
@@ -6445,13 +6474,13 @@
},
"isCurrent": {
"type": "boolean",
- "description": "Indicates if the Portal Revision is public."
+ "description": "Indicates if the portal's revision is public."
},
"createdDateTime": {
"type": "string",
"readOnly": true,
"format": "date-time",
- "description": "Portal revision creation date and time."
+ "description": "Portal's revision creation date and time."
},
"updatedDateTime": {
"type": "string",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/examples/ApiManagementTenantAccessSyncState.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/examples/ApiManagementTenantAccessSyncState.json
index 53bd156c5d93..6f8c9ac6c604 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/examples/ApiManagementTenantAccessSyncState.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/examples/ApiManagementTenantAccessSyncState.json
@@ -9,13 +9,19 @@
"responses": {
"200": {
"body": {
- "branch": "master",
- "commitId": "44c29c27a876372e2ea18d9c381cc493a6a89fc5",
- "isExport": true,
- "isSynced": false,
- "isGitEnabled": true,
- "syncDate": "2016-10-24T19:17:14.3641403Z",
- "configurationChangeDate": "2017-06-03T00:41:30.9670873Z"
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/configuration/syncState",
+ "type": "Microsoft.ApiManagement/service/tenant/syncState",
+ "name": "syncState",
+ "properties": {
+ "branch": "master",
+ "commitId": "de891c2342c7058dde45e5e624eae7e558c94683",
+ "isExport": true,
+ "isSynced": true,
+ "isGitEnabled": true,
+ "syncDate": "2021-04-13T01:15:53.9824995Z",
+ "configurationChangeDate": "2021-04-13T00:11:43.862781Z",
+ "lastOperationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/configuration/operationResults/6074f0bd093a9d0dac3d7347"
+ }
}
}
}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/examples/ApiManagementTenantConfigurationDeploy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/examples/ApiManagementTenantConfigurationDeploy.json
index bd2f272fc167..5b24da95aed7 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/examples/ApiManagementTenantConfigurationDeploy.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/examples/ApiManagementTenantConfigurationDeploy.json
@@ -19,13 +19,17 @@
},
"200": {
"body": {
- "id": "5a1af4ae2a6d2e0b688d7517",
- "status": "Failed",
- "started": "2017-11-26T17:06:54.303Z",
- "updated": "2017-11-26T17:07:21.777Z",
- "error": {
- "code": "ValidationError",
- "message": "File not found: 'api-management/configuration.json'"
+ "id": "6074e652093a9d0dac3d733c",
+ "type": "Microsoft.ApiManagement/service/tenant/operationResults",
+ "name": "6074e652093a9d0dac3d733c",
+ "properties": {
+ "status": "Failed",
+ "started": "2017-11-26T17:06:54.303Z",
+ "updated": "2017-11-26T17:07:21.777Z",
+ "error": {
+ "code": "ValidationError",
+ "message": "File not found: 'api-management/configuration.json'"
+ }
}
}
}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/examples/ApiManagementTenantConfigurationSave.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/examples/ApiManagementTenantConfigurationSave.json
index 6c83c545ef74..e4e3a73dcfa1 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/examples/ApiManagementTenantConfigurationSave.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/examples/ApiManagementTenantConfigurationSave.json
@@ -19,13 +19,16 @@
},
"200": {
"body": {
- "id": "5cae98acb597440f487b0d78",
- "status": "Succeeded",
- "started": "2019-04-11T01:30:20.883Z",
- "updated": "2019-04-11T01:30:41.623Z",
- "resultInfo": "The configuration was successfully saved to master as commit 709678560f72e689e469cf98ba9ba6d1b7736893.",
- "error": null,
- "actionLog": []
+ "id": "6074e652093a9d0dac3d733c",
+ "type": "Microsoft.ApiManagement/service/tenant/operationResults",
+ "name": "6074e652093a9d0dac3d733c",
+ "properties": {
+ "status": "Succeeded",
+ "started": "2021-04-13T00:31:14.94Z",
+ "updated": "2021-04-13T00:31:27.59Z",
+ "resultInfo": "The configuration was successfully saved to master as commit c0ae274f6046912107bad734834cbf65918668b6.",
+ "actionLog": []
+ }
}
}
}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/examples/ApiManagementTenantConfigurationValidate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/examples/ApiManagementTenantConfigurationValidate.json
index 267a94abd4b5..ba05071933a3 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/examples/ApiManagementTenantConfigurationValidate.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/examples/ApiManagementTenantConfigurationValidate.json
@@ -19,153 +19,16 @@
},
"200": {
"body": {
- "id": "5a1af64e2a6d2e0b688d751e",
- "status": "Succeeded",
- "started": "2019-04-11T01:30:51.767Z",
- "updated": "2019-04-11T01:30:57.653Z",
- "resultInfo": "Validation is successfull",
- "actionLog": [
- {
- "objectType": "ApiSpecificationContract",
- "action": "Updated",
- "objectKey": "57914cb351f68a16889be190;rev=1"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "5768181ea40f7eb6c49f6ac7"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "576819c9a40f7e86289fb3e3"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "576819f1a40f7e86289fb6de"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681a67a40f7e72b4132522"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681a73a40f7e72b413281d"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681a7ea40f7e72b4132b18"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681b88a40f7ea0f017f099"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681b9fa40f7ea0f017f682"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681bb5a40f7ea0f017fc6b"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681bcaa40f7ea0f0180254"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681bdfa40f7ea0f018083d"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681bf5a40f7ea0f0180e26"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681c0ea40f7ea0f018140f"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681c26a40f7ea0f01819f8"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681c83a40f7e85f44db237"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681cb2a40f7e85f44dbcd0"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681ce3a40f7e85f44dc769"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681d1fa40f7e85f44dd202"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681d60a40f7e85f44ddc9b"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681db4a40f7e85f44de735"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681e11a40f7e85f44df1ce"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681e73a40f7e85f44dfc67"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681f06a40f7e74ec07785c"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "5768211fa40f7e74ec07a74a"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "576823cfa40f7e74ec07d63a"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "5600b57e7e8880006a060001"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "5600b57e7e8880006a060002"
- }
- ]
+ "id": "6074ec02093a9d0dac3d7345",
+ "type": "Microsoft.ApiManagement/service/tenant/operationResults",
+ "name": "6074ec02093a9d0dac3d7345",
+ "properties": {
+ "status": "Succeeded",
+ "started": "2021-04-13T00:55:30.62Z",
+ "updated": "2021-04-13T00:55:39.857Z",
+ "resultInfo": "Validation is successfull",
+ "actionLog": []
+ }
}
}
}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/apimcontenttypes.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/apimcontenttypes.json
index 7e48ce96c972..a56dc685e138 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/apimcontenttypes.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/apimcontenttypes.json
@@ -40,7 +40,7 @@
"ContentType"
],
"operationId": "ContentType_ListByService",
- "description": "Returns list of content types",
+ "description": "Lists the developer portal's content types. Content types describe content items' properties, validation rules, and constraints.",
"x-ms-examples": {
"ApiManagementListContentTypes": {
"$ref": "./examples/ApiManagementListContentTypes.json"
@@ -62,7 +62,7 @@
],
"responses": {
"200": {
- "description": "Lists a collection of content type entities.",
+ "description": "Returns a collection of the Content Type entities.",
"schema": {
"$ref": "./definitions.json#/definitions/ContentTypeCollection"
}
@@ -85,7 +85,7 @@
"ContentType"
],
"operationId": "ContentType_Get",
- "description": "Gets API Management content type details.",
+ "description": "Gets the details of the developer portal's content type. Content types describe content items' properties, validation rules, and constraints.",
"x-ms-examples": {
"ApiManagementGetContentType": {
"$ref": "./examples/ApiManagementGetContentType.json"
@@ -110,7 +110,7 @@
],
"responses": {
"200": {
- "description": "Get the details of the content type.",
+ "description": "Returns the details of the specified content type.",
"schema": {
"$ref": "./definitions.json#/definitions/ContentTypeContract"
},
@@ -134,7 +134,7 @@
"ContentType"
],
"operationId": "ContentType_CreateOrUpdate",
- "description": "Creates or updates an Content Type.",
+ "description": "Creates or updates the developer portal's content type. Content types describe content items' properties, validation rules, and constraints. Custom content types' identifiers need to start with the `c-` prefix. Built-in content types can't be modified.",
"x-ms-examples": {
"ApiManagementCreateContentType": {
"$ref": "./examples/ApiManagementCreateContentType.json"
@@ -162,7 +162,7 @@
],
"responses": {
"201": {
- "description": "Content type was successfully created.",
+ "description": "The content type was successfully created.",
"headers": {
"ETag": {
"description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
@@ -198,7 +198,7 @@
"ContentType"
],
"operationId": "ContentType_Delete",
- "description": "Removes specified content type.",
+ "description": "Removes the specified developer portal's content type. Content types describe content items' properties, validation rules, and constraints. Built-in content types (with identifiers starting with the `c-` prefix) can't be removed.",
"x-ms-examples": {
"ApiManagementDeleteContentType": {
"$ref": "./examples/ApiManagementDeleteContentType.json"
@@ -246,7 +246,7 @@
"ContentTypeContentItem"
],
"operationId": "ContentItem_ListByService",
- "description": "Returns list of content items",
+ "description": "Lists developer portal's content items specified by the provided content type.",
"x-ms-examples": {
"ApiManagementListContentTypeContentItems": {
"$ref": "./examples/ApiManagementListContentTypeContentItems.json"
@@ -271,7 +271,7 @@
],
"responses": {
"200": {
- "description": "Lists a collection of Content Type entities.",
+ "description": "Returns a collection of Content Type entities.",
"schema": {
"$ref": "./definitions.json#/definitions/ContentItemCollection"
}
@@ -294,7 +294,7 @@
"ContentTypeContentItem"
],
"operationId": "ContentItem_GetEntityTag",
- "description": "Returns content item metadata",
+ "description": "Returns the entity state (ETag) version of the developer portal's content item specified by its identifier.",
"x-ms-examples": {
"ApiManagementHeadContentTypeContentItem": {
"$ref": "./examples/ApiManagementHeadContentTypeContentItem.json"
@@ -343,7 +343,7 @@
"ContentTypeContentItem"
],
"operationId": "ContentItem_Get",
- "description": "Returns content item details",
+ "description": "Returns the developer portal's content item specified by its identifier.",
"x-ms-examples": {
"ApiManagementGetContentTypeContentItem": {
"$ref": "./examples/ApiManagementGetContentTypeContentItem.json"
@@ -371,7 +371,7 @@
],
"responses": {
"200": {
- "description": "Get the details of the content item.",
+ "description": "Returns the content item.",
"schema": {
"$ref": "./definitions.json#/definitions/ContentItemContract"
},
@@ -395,7 +395,7 @@
"ContentTypeContentItem"
],
"operationId": "ContentItem_CreateOrUpdate",
- "description": "Creates new content item",
+ "description": "Creates a new developer portal's content item specified by the provided content type.",
"x-ms-examples": {
"ApiManagementCreateContentTypeContentItem": {
"$ref": "./examples/ApiManagementCreateContentTypeContentItem.json"
@@ -426,7 +426,7 @@
],
"responses": {
"201": {
- "description": "Content item was successfully created.",
+ "description": "The content item was successfully created.",
"headers": {
"ETag": {
"description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
@@ -462,7 +462,7 @@
"ContentTypeContentItem"
],
"operationId": "ContentItem_Delete",
- "description": "Removes specified content item.",
+ "description": "Removes the specified developer portal's content item.",
"x-ms-examples": {
"ApiManagementDeleteContentTypeContentItem": {
"$ref": "./examples/ApiManagementDeleteContentTypeContentItem.json"
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/apimportalrevisions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/apimportalrevisions.json
index d9fd24b5f925..613cb5a414ba 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/apimportalrevisions.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/apimportalrevisions.json
@@ -40,7 +40,7 @@
"PortalRevision"
],
"operationId": "PortalRevision_ListByService",
- "description": "Lists a collection of developer portal revision entities.",
+ "description": "Lists developer portal's revisions.",
"x-ms-examples": {
"ApiManagementListPortalRevisions": {
"$ref": "./examples/ApiManagementListPortalRevisions.json"
@@ -75,7 +75,7 @@
],
"responses": {
"200": {
- "description": "Lists a collection of developer portal revision entities.",
+ "description": "Lists portal's revisions.",
"schema": {
"$ref": "./definitions.json#/definitions/PortalRevisionCollection"
}
@@ -98,7 +98,7 @@
"PortalRevision"
],
"operationId": "PortalRevision_GetEntityTag",
- "description": "Gets developer portal revision specified by its identifier.",
+ "description": "Gets the developer portal revision specified by its identifier.",
"x-ms-examples": {
"ApiManagementHeadPortalRevision": {
"$ref": "./examples/ApiManagementHeadPortalRevision.json"
@@ -123,7 +123,7 @@
],
"responses": {
"200": {
- "description": "Specified Portal revision entity exists and current entity state version is present in the ETag header.",
+ "description": "The specified portal revision entity exists and current entity state version is present in the ETag header.",
"headers": {
"ETag": {
"description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
@@ -144,7 +144,7 @@
"PortalRevision"
],
"operationId": "PortalRevision_Get",
- "description": "Gets developer portal revision specified by its identifier.",
+ "description": "Gets the developer portal's revision specified by its identifier.",
"x-ms-examples": {
"ApiManagementGetPortalRevision": {
"$ref": "./examples/ApiManagementGetPortalRevision.json"
@@ -169,7 +169,7 @@
],
"responses": {
"200": {
- "description": "Gets the specified developer portal revision entity.",
+ "description": "Gets the specified portal's revision.",
"schema": {
"$ref": "./definitions.json#/definitions/PortalRevisionContract"
},
@@ -193,7 +193,7 @@
"PortalRevision"
],
"operationId": "PortalRevision_CreateOrUpdate",
- "description": "Creates a new developer portal revision.",
+ "description": "Creates a new developer portal's revision by running the portal's publishing. The `isCurrent` property indicates if the revision is publicly accessible.",
"x-ms-examples": {
"ApiManagementCreatePortalRevision": {
"$ref": "./examples/ApiManagementCreatePortalRevision.json"
@@ -226,10 +226,10 @@
],
"responses": {
"202": {
- "description": "Request to create developer portal revision was accepted."
+ "description": "Request to create a developer portal revision was accepted."
},
"201": {
- "description": "Developer portal revision was successfully created.",
+ "description": "The developer portal revision was successfully created.",
"schema": {
"$ref": "./definitions.json#/definitions/PortalRevisionContract"
},
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/definitions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/definitions.json
index 98cdbc97d91b..283ef09f07d1 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/definitions.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/definitions.json
@@ -3454,6 +3454,21 @@
"description": "Api Operation Entity Base Contract details."
},
"OperationResultContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationResultContractProperties",
+ "description": "Properties of the Operation Contract."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Long Running Git Operation Results."
+ },
+ "OperationResultContractProperties": {
"properties": {
"id": {
"type": "string",
@@ -5408,6 +5423,16 @@
"description": "Contract defining the Tag property in the Tag Resource Contract"
},
"TenantConfigurationSyncStateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TenantConfigurationSyncStateContractProperties",
+ "description": "Properties returned Tenant Configuration Sync State check."
+ }
+ },
+ "description": "Result of Tenant Configuration Sync State."
+ },
+ "TenantConfigurationSyncStateContractProperties": {
"properties": {
"branch": {
"type": "string",
@@ -5438,6 +5463,10 @@
"type": "string",
"format": "date-time",
"description": "The date of the latest configuration change. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "lastOperationId": {
+ "type": "string",
+ "description": "Most recent tenant configuration operation identifier"
}
},
"description": "Tenant Configuration Synchronization State."
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/examples/ApiManagementTenantAccessSyncState.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/examples/ApiManagementTenantAccessSyncState.json
index d3c3d0ce2f4b..6c9ca32cfe67 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/examples/ApiManagementTenantAccessSyncState.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/examples/ApiManagementTenantAccessSyncState.json
@@ -9,13 +9,19 @@
"responses": {
"200": {
"body": {
- "branch": "master",
- "commitId": "44c29c27a876372e2ea18d9c381cc493a6a89fc5",
- "isExport": true,
- "isSynced": false,
- "isGitEnabled": true,
- "syncDate": "2016-10-24T19:17:14.3641403Z",
- "configurationChangeDate": "2017-06-03T00:41:30.9670873Z"
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/configuration/syncState",
+ "type": "Microsoft.ApiManagement/service/tenant/syncState",
+ "name": "syncState",
+ "properties": {
+ "branch": "master",
+ "commitId": "de891c2342c7058dde45e5e624eae7e558c94683",
+ "isExport": true,
+ "isSynced": true,
+ "isGitEnabled": true,
+ "syncDate": "2021-04-13T01:15:53.9824995Z",
+ "configurationChangeDate": "2021-04-13T00:11:43.862781Z",
+ "lastOperationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/configuration/operationResults/6074f0bd093a9d0dac3d7347"
+ }
}
}
}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/examples/ApiManagementTenantConfigurationDeploy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/examples/ApiManagementTenantConfigurationDeploy.json
index 235d9be39638..3f8ede6f3909 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/examples/ApiManagementTenantConfigurationDeploy.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/examples/ApiManagementTenantConfigurationDeploy.json
@@ -14,18 +14,22 @@
"responses": {
"202": {
"headers": {
- "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5a1af4ae2a6d2e0b688d7517?api-version=2020-12-01"
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/6074e652093a9d0dac3d733c?api-version=2020-12-01"
}
},
"200": {
"body": {
- "id": "5a1af4ae2a6d2e0b688d7517",
- "status": "Failed",
- "started": "2017-11-26T17:06:54.303Z",
- "updated": "2017-11-26T17:07:21.777Z",
- "error": {
- "code": "ValidationError",
- "message": "File not found: 'api-management/configuration.json'"
+ "id": "6074e652093a9d0dac3d733c",
+ "type": "Microsoft.ApiManagement/service/tenant/operationResults",
+ "name": "6074e652093a9d0dac3d733c",
+ "properties": {
+ "status": "Failed",
+ "started": "2017-11-26T17:06:54.303Z",
+ "updated": "2017-11-26T17:07:21.777Z",
+ "error": {
+ "code": "ValidationError",
+ "message": "File not found: 'api-management/configuration.json'"
+ }
}
}
}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/examples/ApiManagementTenantConfigurationSave.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/examples/ApiManagementTenantConfigurationSave.json
index e1e5fbf5a24c..cc4af56c5e44 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/examples/ApiManagementTenantConfigurationSave.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/examples/ApiManagementTenantConfigurationSave.json
@@ -14,18 +14,21 @@
"responses": {
"202": {
"headers": {
- "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5a1af57d2a6d2e0b688d751b?api-version=2020-12-01"
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/6074e652093a9d0dac3d733c?api-version=2020-12-01"
}
},
"200": {
"body": {
- "id": "5cae98acb597440f487b0d78",
- "status": "Succeeded",
- "started": "2019-04-11T01:30:20.883Z",
- "updated": "2019-04-11T01:30:41.623Z",
- "resultInfo": "The configuration was successfully saved to master as commit 709678560f72e689e469cf98ba9ba6d1b7736893.",
- "error": null,
- "actionLog": []
+ "id": "6074e652093a9d0dac3d733c",
+ "type": "Microsoft.ApiManagement/service/tenant/operationResults",
+ "name": "6074e652093a9d0dac3d733c",
+ "properties": {
+ "status": "Succeeded",
+ "started": "2021-04-13T00:31:14.94Z",
+ "updated": "2021-04-13T00:31:27.59Z",
+ "resultInfo": "The configuration was successfully saved to master as commit c0ae274f6046912107bad734834cbf65918668b6.",
+ "actionLog": []
+ }
}
}
}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/examples/ApiManagementTenantConfigurationValidate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/examples/ApiManagementTenantConfigurationValidate.json
index ed20536c5a1c..7a0752cf8378 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/examples/ApiManagementTenantConfigurationValidate.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/examples/ApiManagementTenantConfigurationValidate.json
@@ -19,153 +19,16 @@
},
"200": {
"body": {
- "id": "5a1af64e2a6d2e0b688d751e",
- "status": "Succeeded",
- "started": "2019-04-11T01:30:51.767Z",
- "updated": "2019-04-11T01:30:57.653Z",
- "resultInfo": "Validation is successfull",
- "actionLog": [
- {
- "objectType": "ApiSpecificationContract",
- "action": "Updated",
- "objectKey": "57914cb351f68a16889be190;rev=1"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "5768181ea40f7eb6c49f6ac7"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "576819c9a40f7e86289fb3e3"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "576819f1a40f7e86289fb6de"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681a67a40f7e72b4132522"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681a73a40f7e72b413281d"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681a7ea40f7e72b4132b18"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681b88a40f7ea0f017f099"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681b9fa40f7ea0f017f682"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681bb5a40f7ea0f017fc6b"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681bcaa40f7ea0f0180254"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681bdfa40f7ea0f018083d"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681bf5a40f7ea0f0180e26"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681c0ea40f7ea0f018140f"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681c26a40f7ea0f01819f8"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681c83a40f7e85f44db237"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681cb2a40f7e85f44dbcd0"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681ce3a40f7e85f44dc769"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681d1fa40f7e85f44dd202"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681d60a40f7e85f44ddc9b"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681db4a40f7e85f44de735"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681e11a40f7e85f44df1ce"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681e73a40f7e85f44dfc67"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "57681f06a40f7e74ec07785c"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "5768211fa40f7e74ec07a74a"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "576823cfa40f7e74ec07d63a"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "5600b57e7e8880006a060001"
- },
- {
- "objectType": "ProductSpecificationContract",
- "action": "Updated",
- "objectKey": "5600b57e7e8880006a060002"
- }
- ]
+ "id": "6074ec02093a9d0dac3d7345",
+ "type": "Microsoft.ApiManagement/service/tenant/operationResults",
+ "name": "6074ec02093a9d0dac3d7345",
+ "properties": {
+ "status": "Succeeded",
+ "started": "2021-04-13T00:55:30.62Z",
+ "updated": "2021-04-13T00:55:39.857Z",
+ "resultInfo": "Validation is successfull",
+ "actionLog": []
+ }
}
}
}
diff --git a/specification/apimanagement/resource-manager/readme.azureresourceschema.md b/specification/apimanagement/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index b7c0f4b79ff1..000000000000
--- a/specification/apimanagement/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,405 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-apimanagement-2020-12-01
- - tag: schema-apimanagement-2020-06-01-preview
- - tag: schema-apimanagement-2019-12-01-preview
- - tag: schema-apimanagement-2019-12-01
- - tag: schema-apimanagement-2019-01-01
- - tag: schema-apimanagement-2018-06-01-preview
- - tag: schema-apimanagement-2018-01-01
- - tag: schema-apimanagement-2017-03-01
- - tag: schema-apimanagement-2016-10-10
- - tag: schema-apimanagement-2016-07-07
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-apimanagement-2020-12-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-apimanagement-2020-12-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ApiManagement/stable/2020-12-01/apimanagement.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimapis.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimapisByTags.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimapiversionsets.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimauthorizationservers.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimbackends.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimcaches.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimcertificates.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimcontenttypes.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimdeletedservices.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimdeployment.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimdiagnostics.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimemailtemplates.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimgateways.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimgroups.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimidentityprovider.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimissues.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimloggers.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimnamedvalues.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimnetworkstatus.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimnotifications.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimopenidconnectproviders.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimpolicies.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimpolicydescriptions.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimportalrevisions.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimportalsettings.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimproducts.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimproductsByTags.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimquotas.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimregions.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimreports.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimsettings.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimskus.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimsubscriptions.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimtagresources.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimtags.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimtenant.json
- - Microsoft.ApiManagement/stable/2020-12-01/apimusers.json
- - Microsoft.ApiManagement/stable/2020-12-01/definitions.json
-
-```
-
-### Tag: schema-apimanagement-2020-06-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-apimanagement-2020-06-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimanagement.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimapis.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimapisByTags.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimapiversionsets.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimauthorizationservers.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimbackends.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimcaches.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimcertificates.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimcontenttypes.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimdeletedservices.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimdeployment.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimdiagnostics.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimemailtemplates.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimgateways.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimgroups.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimidentityprovider.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimissues.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimloggers.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimnamedvalues.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimnetworkstatus.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimnotifications.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimopenidconnectproviders.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimpolicies.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimpolicydescriptions.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimportalrevisions.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimportalsettings.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimproducts.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimproductsByTags.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimquotas.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimregions.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimreports.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimsettings.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimskus.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimsubscriptions.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimtagresources.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimtags.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimtenant.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/apimusers.json
- - Microsoft.ApiManagement/preview/2020-06-01-preview/definitions.json
-
-```
-
-### Tag: schema-apimanagement-2019-12-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-apimanagement-2019-12-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimanagement.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimapis.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimapisByTags.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimapiversionsets.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimauthorizationservers.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimbackends.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimcaches.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimcertificates.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimdeployment.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimdiagnostics.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimemailtemplates.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimgateways.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimgroups.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimidentityprovider.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimissues.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimloggers.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimnetworkstatus.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimnotifications.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimopenidconnectproviders.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimpolicies.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimpolicydescriptions.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimportalsettings.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimproducts.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimproductsByTags.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimnamedvalues.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimquotas.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimregions.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimreports.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimsubscriptions.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimtagresources.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimtags.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimtenant.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/apimusers.json
- - Microsoft.ApiManagement/preview/2019-12-01-preview/definitions.json
-
-```
-
-### Tag: schema-apimanagement-2019-12-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-apimanagement-2019-12-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ApiManagement/stable/2019-12-01/apimanagement.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimapis.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimapisByTags.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimapiversionsets.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimauthorizationservers.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimbackends.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimcaches.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimcertificates.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimcontenttypes.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimdeployment.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimdiagnostics.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimemailtemplates.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimgateways.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimgroups.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimidentityprovider.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimissues.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimloggers.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimnamedvalues.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimnetworkstatus.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimnotifications.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimopenidconnectproviders.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimpolicies.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimpolicydescriptions.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimportalsettings.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimproducts.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimproductsByTags.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimquotas.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimregions.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimreports.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimsubscriptions.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimtagresources.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimtags.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimtenant.json
- - Microsoft.ApiManagement/stable/2019-12-01/apimusers.json
- - Microsoft.ApiManagement/stable/2019-12-01/definitions.json
-
-```
-
-### Tag: schema-apimanagement-2019-01-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-apimanagement-2019-01-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ApiManagement/stable/2019-01-01/apimanagement.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimapis.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimapisByTags.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimapiversionsets.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimauthorizationservers.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimbackends.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimcaches.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimcertificates.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimdeployment.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimdiagnostics.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimemailtemplates.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimgroups.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimidentityprovider.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimissues.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimloggers.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimnetworkstatus.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimnotifications.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimopenidconnectproviders.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimpolicies.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimpolicysnippets.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimportalsettings.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimproducts.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimproductsByTags.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimproperties.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimquotas.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimregions.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimreports.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimsubscriptions.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimtagresources.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimtags.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimtenant.json
- - Microsoft.ApiManagement/stable/2019-01-01/apimusers.json
- - Microsoft.ApiManagement/stable/2019-01-01/definitions.json
-
-```
-
-### Tag: schema-apimanagement-2018-06-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-apimanagement-2018-06-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimanagement.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimapis.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimapisByTags.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimauthorizationservers.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimbackends.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimcaches.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimcertificates.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimdeployment.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimdiagnostics.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimemailtemplates.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimgroups.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimidentityprovider.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimissues.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimloggers.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimnotifications.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimnetworkstatus.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimopenidconnectproviders.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimpolicies.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimpolicysnippets.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimportalsettings.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimproducts.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimproductsByTags.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimproperties.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimquotas.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimregions.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimreports.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimsubscriptions.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimtagresources.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimtags.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimtenant.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimusers.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/apimapiversionsets.json
- - Microsoft.ApiManagement/preview/2018-06-01-preview/definitions.json
-
-```
-
-### Tag: schema-apimanagement-2018-01-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-apimanagement-2018-01-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ApiManagement/stable/2018-01-01/apimanagement.json
- - Microsoft.ApiManagement/stable/2018-01-01/apimapis.json
- - Microsoft.ApiManagement/stable/2018-01-01/apimauthorizationservers.json
- - Microsoft.ApiManagement/stable/2018-01-01/apimbackends.json
- - Microsoft.ApiManagement/stable/2018-01-01/apimcertificates.json
- - Microsoft.ApiManagement/stable/2018-01-01/apimdeployment.json
- - Microsoft.ApiManagement/stable/2018-01-01/apimdiagnostics.json
- - Microsoft.ApiManagement/stable/2018-01-01/apimemailtemplate.json
- - Microsoft.ApiManagement/stable/2018-01-01/apimgroups.json
- - Microsoft.ApiManagement/stable/2018-01-01/apimidentityprovider.json
- - Microsoft.ApiManagement/stable/2018-01-01/apimloggers.json
- - Microsoft.ApiManagement/stable/2018-01-01/apimnotifications.json
- - Microsoft.ApiManagement/stable/2018-01-01/apimnetworkstatus.json
- - Microsoft.ApiManagement/stable/2018-01-01/apimopenidconnectproviders.json
- - Microsoft.ApiManagement/stable/2018-01-01/apimportalsettings.json
- - Microsoft.ApiManagement/stable/2018-01-01/apimproducts.json
- - Microsoft.ApiManagement/stable/2018-01-01/apimproperties.json
- - Microsoft.ApiManagement/stable/2018-01-01/apimquotas.json
- - Microsoft.ApiManagement/stable/2018-01-01/apimreports.json
- - Microsoft.ApiManagement/stable/2018-01-01/apimsubscriptions.json
- - Microsoft.ApiManagement/stable/2018-01-01/apimtagresources.json
- - Microsoft.ApiManagement/stable/2018-01-01/apimtags.json
- - Microsoft.ApiManagement/stable/2018-01-01/apimtenant.json
- - Microsoft.ApiManagement/stable/2018-01-01/apimusers.json
- - Microsoft.ApiManagement/stable/2018-01-01/apimversionsets.json
-
-```
-
-### Tag: schema-apimanagement-2017-03-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-apimanagement-2017-03-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ApiManagement/stable/2017-03-01/apimanagement.json
- - Microsoft.ApiManagement/stable/2017-03-01/apimapis.json
- - Microsoft.ApiManagement/stable/2017-03-01/apimauthorizationservers.json
- - Microsoft.ApiManagement/stable/2017-03-01/apimbackends.json
- - Microsoft.ApiManagement/stable/2017-03-01/apimcertificates.json
- - Microsoft.ApiManagement/stable/2017-03-01/apimdeployment.json
- - Microsoft.ApiManagement/stable/2017-03-01/apimdiagnostics.json
- - Microsoft.ApiManagement/stable/2017-03-01/apimemailtemplate.json
- - Microsoft.ApiManagement/stable/2017-03-01/apimgroups.json
- - Microsoft.ApiManagement/stable/2017-03-01/apimidentityprovider.json
- - Microsoft.ApiManagement/stable/2017-03-01/apimloggers.json
- - Microsoft.ApiManagement/stable/2017-03-01/apimnotifications.json
- - Microsoft.ApiManagement/stable/2017-03-01/apimnetworkstatus.json
- - Microsoft.ApiManagement/stable/2017-03-01/apimopenidconnectproviders.json
- - Microsoft.ApiManagement/stable/2017-03-01/apimportalsettings.json
- - Microsoft.ApiManagement/stable/2017-03-01/apimproducts.json
- - Microsoft.ApiManagement/stable/2017-03-01/apimproperties.json
- - Microsoft.ApiManagement/stable/2017-03-01/apimquotas.json
- - Microsoft.ApiManagement/stable/2017-03-01/apimreports.json
- - Microsoft.ApiManagement/stable/2017-03-01/apimsubscriptions.json
- - Microsoft.ApiManagement/stable/2017-03-01/apimtagresources.json
- - Microsoft.ApiManagement/stable/2017-03-01/apimtags.json
- - Microsoft.ApiManagement/stable/2017-03-01/apimtenant.json
- - Microsoft.ApiManagement/stable/2017-03-01/apimusers.json
- - Microsoft.ApiManagement/stable/2017-03-01/apimversionsets.json
-
-```
-
-### Tag: schema-apimanagement-2016-10-10 and azureresourceschema
-
-``` yaml $(tag) == 'schema-apimanagement-2016-10-10' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ApiManagement/stable/2016-10-10/apimanagement.json
- - Microsoft.ApiManagement/stable/2016-10-10/apimapis.json
- - Microsoft.ApiManagement/stable/2016-10-10/apimauthorizationservers.json
- - Microsoft.ApiManagement/stable/2016-10-10/apimbackends.json
- - Microsoft.ApiManagement/stable/2016-10-10/apimcertificates.json
- - Microsoft.ApiManagement/stable/2016-10-10/apimdeployment.json
- - Microsoft.ApiManagement/stable/2016-10-10/apimgroups.json
- - Microsoft.ApiManagement/stable/2016-10-10/apimidentityprovider.json
- - Microsoft.ApiManagement/stable/2016-10-10/apimloggers.json
- - Microsoft.ApiManagement/stable/2016-10-10/apimnetworkstatus.json
- - Microsoft.ApiManagement/stable/2016-10-10/apimopenidconnectproviders.json
- - Microsoft.ApiManagement/stable/2016-10-10/apimproducts.json
- - Microsoft.ApiManagement/stable/2016-10-10/apimproperties.json
- - Microsoft.ApiManagement/stable/2016-10-10/apimquotas.json
- - Microsoft.ApiManagement/stable/2016-10-10/apimreports.json
- - Microsoft.ApiManagement/stable/2016-10-10/apimsubscriptions.json
- - Microsoft.ApiManagement/stable/2016-10-10/apimtenant.json
- - Microsoft.ApiManagement/stable/2016-10-10/apimusers.json
-
-```
-
-### Tag: schema-apimanagement-2016-07-07 and azureresourceschema
-
-``` yaml $(tag) == 'schema-apimanagement-2016-07-07' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ApiManagement/stable/2016-07-07/apimanagement.json
- - Microsoft.ApiManagement/stable/2016-07-07/apimdeployment.json
-
-```
diff --git a/specification/apimanagement/resource-manager/readme.go.md b/specification/apimanagement/resource-manager/readme.go.md
index fb7bd34fdc73..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
```
diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md
index 31b3296e3b88..5458143088a5 100644
--- a/specification/apimanagement/resource-manager/readme.md
+++ b/specification/apimanagement/resource-manager/readme.md
@@ -488,8 +488,6 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_api_management']
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js apimanagement/resource-manager
```
## C#
@@ -518,9 +516,7 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
## Suppression
diff --git a/specification/apimanagement/resource-manager/readme.python.md b/specification/apimanagement/resource-manager/readme.python.md
index 4ebcc52b0767..4f77cb308462 100644
--- a/specification/apimanagement/resource-manager/readme.python.md
+++ b/specification/apimanagement/resource-manager/readme.python.md
@@ -12,6 +12,7 @@ python:
payload-flattening-threshold: 2
namespace: azure.mgmt.apimanagement
package-name: azure-mgmt-apimanagement
+ package-version: 0.1.0
clear-output-folder: true
```
``` yaml $(python) && $(track2)
@@ -20,6 +21,8 @@ azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
namespace: azure.mgmt.apimanagement
package-name: azure-mgmt-apimanagement
+package-version: 0.1.0
+clear-output-folder: true
```
``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
python:
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..0607f2b84c9f
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/appconfiguration.json
@@ -0,0 +1,1966 @@
+{
+ "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"
+ }
+ },
+ "fillGapWithZero": {
+ "description": "Optional. If set to true, then zero will be returned for time duration where no metric is emitted/published.",
+ "type": "boolean"
+ }
+ }
+ },
+ "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
deleted file mode 100644
index 96fcf4bd50da..000000000000
--- a/specification/appconfiguration/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,72 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-appconfiguration-2020-07-01-preview
- - tag: schema-appconfiguration-2020-06-01
- - tag: schema-appconfiguration-2019-11-01-preview
- - tag: schema-appconfiguration-2019-10-01
- - tag: schema-appconfiguration-2019-02-01-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-appconfiguration-2020-07-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-appconfiguration-2020-07-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AppConfiguration/preview/2020-07-01-preview/appconfiguration.json
-
-```
-
-### Tag: schema-appconfiguration-2020-06-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-appconfiguration-2020-06-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AppConfiguration/stable/2020-06-01/appconfiguration.json
-
-```
-
-### Tag: schema-appconfiguration-2019-11-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-appconfiguration-2019-11-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AppConfiguration/preview/2019-11-01-preview/appconfiguration.json
-
-```
-
-### Tag: schema-appconfiguration-2019-10-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-appconfiguration-2019-10-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AppConfiguration/stable/2019-10-01/appconfiguration.json
-
-```
-
-### Tag: schema-appconfiguration-2019-02-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-appconfiguration-2019-02-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AppConfiguration/preview/2019-02-01-preview/appconfiguration.json
-
-```
diff --git a/specification/appconfiguration/resource-manager/readme.go.md b/specification/appconfiguration/resource-manager/readme.go.md
index cdcf3496c0b5..e69b52caf805 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
```
@@ -13,6 +13,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-03-01-preview
- tag: package-2020-07-01-preview
- tag: package-2020-06-01
- tag: package-2019-11-01-preview
@@ -20,6 +21,15 @@ batch:
- tag: package-2019-02-01-preview
```
+### Tag: package-2021-03-01-preview and go
+
+These settings apply only when `--tag=package-2021-03-01-preview --go` is specified on the command line.
+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)
+```
+
### Tag: package-2020-07-01-preview and go
These settings apply only when `--tag=package-2020-07-01-preview --go` is specified on the command line.
diff --git a/specification/appconfiguration/resource-manager/readme.md b/specification/appconfiguration/resource-manager/readme.md
index 52b3f08fda91..9ff6fa69e34d 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
@@ -96,8 +105,6 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_app_configuration']
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js appconfiguration/resource-manager
```
## C#
@@ -140,9 +147,19 @@ 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
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/applicationinsights/data-plane/Monitor.Exporters/preview/2020-09-15_Preview/swagger.json b/specification/applicationinsights/data-plane/Monitor.Exporters/preview/2020-09-15_Preview/swagger.json
index ae3028af5321..1e150680fec3 100644
--- a/specification/applicationinsights/data-plane/Monitor.Exporters/preview/2020-09-15_Preview/swagger.json
+++ b/specification/applicationinsights/data-plane/Monitor.Exporters/preview/2020-09-15_Preview/swagger.json
@@ -6,7 +6,7 @@
"description": "This document describes the protocol for client requests and responses to the data collection endpoint."
},
"x-ms-parameterized-host": {
- "hostTemplate": "{Host}/v2/",
+ "hostTemplate": "{Host}/v2",
"useSchemePrefix": false,
"parameters": [
{
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-02-02-preview/components_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/components_API.json
index d890209a607b..6930dd17bec0 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/components_API.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/components_API.json
@@ -601,6 +601,14 @@
"name": "IngestionMode",
"modelAsString": true
}
+ },
+ "DisableLocalAuth": {
+ "type": "boolean",
+ "description": "Disable Non-AAD based Auth."
+ },
+ "ForceCustomerStorageForProfiler": {
+ "type": "boolean",
+ "description": "Force users to create their own storage account for profiler and debugger."
}
},
"required": [
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-02-02/components_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/components_API.json
new file mode 100644
index 000000000000..e1a021011c4f
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/components_API.json
@@ -0,0 +1,774 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApplicationInsightsManagementClient",
+ "description": "Azure Application Insights client for Components",
+ "version": "2020-02-02"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/components": {
+ "get": {
+ "description": "Gets a list of all Application Insights components within a subscription.",
+ "operationId": "Components_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list containing 0 or more Application Insights component definitions.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationInsightsComponentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ComponentsList.json": {
+ "$ref": "./examples/ComponentsList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components": {
+ "get": {
+ "description": "Gets a list of Application Insights components within a resource group.",
+ "operationId": "Components_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list containing 0 or more Application Insights component definitions.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationInsightsComponentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ComponentListByResourceGroup": {
+ "$ref": "./examples/ComponentsListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}": {
+ "delete": {
+ "description": "Deletes an Application Insights component.",
+ "operationId": "Components_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request when deleting an Application Insights component."
+ },
+ "204": {
+ "description": "The specified component does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ComponentsDelete": {
+ "$ref": "./examples/ComponentsDelete.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Returns an Application Insights component.",
+ "operationId": "Components_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "An Application Insights Component definition.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationInsightsComponent"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ComponentGet": {
+ "$ref": "./examples/ComponentsGet.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Creates (or updates) an Application Insights component. Note: You cannot specify a different value for InstrumentationKey nor AppId in the Put operation.",
+ "operationId": "Components_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "InsightProperties",
+ "description": "Properties that need to be specified to create an Application Insights component.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApplicationInsightsComponent"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request when creating or updating an Application Insights component. The updated component is returned.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationInsightsComponent"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ComponentCreate": {
+ "$ref": "./examples/ComponentsCreate.json"
+ },
+ "ComponentUpdate": {
+ "$ref": "./examples/ComponentsUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Updates an existing component's tags. To update other fields use the CreateOrUpdate method.",
+ "operationId": "Components_UpdateTags",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "ComponentTags",
+ "description": "Updated tag information to set into the component instance.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagsResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updating the Application Insights component's tags was successful. Component tags are updated and returned with the rest of the Component's object properties.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationInsightsComponent"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ComponentUpdateTagsOnly": {
+ "$ref": "./examples/ComponentsUpdateTagsOnly.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/purge": {
+ "post": {
+ "description": "Purges data in an Application Insights component by a set of user-defined filters.\n\nIn order to manage system resources, purge requests are throttled at 50 requests per hour. You should batch the execution of purge requests by sending a single command whose predicate includes all user identities that require purging. Use the in operator to specify multiple identities. You should run the query prior to using for a purge request to verify that the results are expected.",
+ "operationId": "Components_Purge",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ComponentPurgeParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted request for purging an Application Insights component.",
+ "schema": {
+ "$ref": "#/definitions/ComponentPurgeResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ComponentPurge": {
+ "$ref": "./examples/ComponentsPurge.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/operations/{purgeId}": {
+ "get": {
+ "description": "Get status for an ongoing purge operation.",
+ "operationId": "Components_GetPurgeStatus",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ComponentPurgeIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns status of purge operation in body of response. e.g.: running, completed.",
+ "schema": {
+ "$ref": "#/definitions/ComponentPurgeStatusResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ComponentPurge": {
+ "$ref": "./examples/ComponentsPurgeStatus.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ComponentsResource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource Id"
+ },
+ "name": {
+ "type": "string",
+ "description": "Azure resource name",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true,
+ "description": "An azure resource object"
+ },
+ "TagsResource": {
+ "properties": {
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "A container holding only the Tags for a resource, allowing the user to update the tags on a WebTest instance."
+ },
+ "ApplicationInsightsComponent": {
+ "properties": {
+ "kind": {
+ "type": "string",
+ "description": "The kind of application that this component refers to, used to customize UI. This value is a freeform string, values should typically be one of the following: web, ios, other, store, java, phone."
+ },
+ "etag": {
+ "type": "string",
+ "description": "Resource etag"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties that define an Application Insights component resource.",
+ "$ref": "#/definitions/ApplicationInsightsComponentProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ComponentsResource"
+ }
+ ],
+ "required": [
+ "kind"
+ ],
+ "description": "An Application Insights component definition."
+ },
+ "ApplicationInsightsComponentProperties": {
+ "description": "Properties that define an Application Insights component resource.",
+ "properties": {
+ "ApplicationId": {
+ "type": "string",
+ "description": "The unique ID of your application. This field mirrors the 'Name' field and cannot be changed.",
+ "readOnly": true
+ },
+ "AppId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Application Insights Unique ID for your Application."
+ },
+ "Name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Application name."
+ },
+ "Application_Type": {
+ "type": "string",
+ "description": "Type of application being monitored.",
+ "default": "web",
+ "enum": [
+ "web",
+ "other"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationType",
+ "modelAsString": true
+ },
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "Flow_Type": {
+ "type": "string",
+ "description": "Used by the Application Insights system to determine what kind of flow this component was created by. This is to be set to 'Bluefield' when creating/updating a component via the REST API.",
+ "default": "Bluefield",
+ "enum": [
+ "Bluefield"
+ ],
+ "x-ms-enum": {
+ "name": "FlowType",
+ "modelAsString": true
+ }
+ },
+ "Request_Source": {
+ "type": "string",
+ "description": "Describes what tool created this Application Insights component. Customers using this API should set this to the default 'rest'.",
+ "default": "rest",
+ "enum": [
+ "rest"
+ ],
+ "x-ms-enum": {
+ "name": "RequestSource",
+ "modelAsString": true
+ }
+ },
+ "InstrumentationKey": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Application Insights Instrumentation key. A read-only value that applications can use to identify the destination for all telemetry sent to Azure Application Insights. This value will be supplied upon construction of each new Application Insights component."
+ },
+ "CreationDate": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Creation Date for the Application Insights component, in ISO 8601 format.",
+ "format": "date-time"
+ },
+ "TenantId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure Tenant Id."
+ },
+ "HockeyAppId": {
+ "type": "string",
+ "description": "The unique application ID created when a new application is added to HockeyApp, used for communications with HockeyApp.",
+ "externalDocs": {
+ "url": "https://aka.ms/ewjuel"
+ }
+ },
+ "HockeyAppToken": {
+ "type": "string",
+ "description": "Token used to authenticate communications with between Application Insights and HockeyApp.",
+ "readOnly": true,
+ "externalDocs": {
+ "url": "https://aka.ms/sls76s"
+ }
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Current state of this component: whether or not is has been provisioned within the resource group it is defined. Users cannot change this value but are able to read from it. Values will include Succeeded, Deploying, Canceled, and Failed.",
+ "readOnly": true
+ },
+ "SamplingPercentage": {
+ "type": "number",
+ "format": "double",
+ "description": "Percentage of the data produced by the application being monitored that is being sampled for Application Insights telemetry.",
+ "externalDocs": {
+ "url": "https://aka.ms/sl0yqd"
+ }
+ },
+ "ConnectionString": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Application Insights component connection string."
+ },
+ "RetentionInDays": {
+ "type": "integer",
+ "description": "Retention period in days.",
+ "readOnly": true
+ },
+ "DisableIpMasking": {
+ "type": "boolean",
+ "description": "Disable IP masking."
+ },
+ "ImmediatePurgeDataOn30Days": {
+ "type": "boolean",
+ "description": "Purge data immediately after 30 days."
+ },
+ "WorkspaceResourceId": {
+ "type": "string",
+ "description": "Resource Id of the log analytics workspace which the data will be ingested to. This property is required to create an application with this API version. Applications from older versions will not have this property."
+ },
+ "LaMigrationDate": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The date which the component got migrated to LA, in ISO 8601 format.",
+ "format": "date-time"
+ },
+ "PrivateLinkScopedResources": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkScopedResource"
+ },
+ "description": "List of linked private link scope resources."
+ },
+ "publicNetworkAccessForIngestion": {
+ "description": "The network access type for accessing Application Insights ingestion.",
+ "$ref": "#/definitions/PublicNetworkAccessType"
+ },
+ "publicNetworkAccessForQuery": {
+ "description": "The network access type for accessing Application Insights query.",
+ "$ref": "#/definitions/PublicNetworkAccessType"
+ },
+ "IngestionMode": {
+ "type": "string",
+ "description": "Indicates the flow of the ingestion.",
+ "default": "LogAnalytics",
+ "enum": [
+ "ApplicationInsights",
+ "ApplicationInsightsWithDiagnosticSettings",
+ "LogAnalytics"
+ ],
+ "x-ms-enum": {
+ "name": "IngestionMode",
+ "modelAsString": true
+ }
+ },
+ "DisableLocalAuth": {
+ "type": "boolean",
+ "description": "Disable Non-AAD based Auth."
+ },
+ "ForceCustomerStorageForProfiler": {
+ "type": "boolean",
+ "description": "Force users to create their own storage account for profiler and debugger."
+ }
+ },
+ "required": [
+ "Application_Type"
+ ]
+ },
+ "PrivateLinkScopedResource": {
+ "properties": {
+ "ResourceId": {
+ "type": "string",
+ "description": "The full resource Id of the private link scope resource."
+ },
+ "ScopeId": {
+ "type": "string",
+ "description": "The private link scope unique Identifier."
+ }
+ },
+ "description": "The private link scope resource reference."
+ },
+ "ApplicationInsightsComponentListResult": {
+ "description": "Describes the list of Application Insights Resources.",
+ "required": [
+ "value"
+ ],
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of Application Insights component definitions.",
+ "items": {
+ "$ref": "#/definitions/ApplicationInsightsComponent"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to get the next set of Application Insights component definitions if too many components where returned in the result set."
+ }
+ }
+ },
+ "ComponentPurgeBody": {
+ "description": "Describes the body of a purge request for an App Insights component",
+ "required": [
+ "table",
+ "filters"
+ ],
+ "properties": {
+ "table": {
+ "type": "string",
+ "description": "Table from which to purge data."
+ },
+ "filters": {
+ "type": "array",
+ "description": "The set of columns and filters (queries) to run over them to purge the resulting data.",
+ "items": {
+ "$ref": "#/definitions/ComponentPurgeBodyFilters"
+ }
+ }
+ }
+ },
+ "ComponentPurgeBodyFilters": {
+ "description": "User-defined filters to return data which will be purged from the table.",
+ "properties": {
+ "column": {
+ "description": "The column of the table over which the given query should run",
+ "type": "string"
+ },
+ "operator": {
+ "description": "A query operator to evaluate over the provided column and value(s). Supported operators are ==, =~, in, in~, >, >=, <, <=, between, and have the same behavior as they would in a KQL query.",
+ "type": "string"
+ },
+ "value": {
+ "description": "the value for the operator to function over. This can be a number (e.g., > 100), a string (timestamp >= '2017-09-01') or array of values."
+ },
+ "key": {
+ "description": "When filtering over custom dimensions, this key will be used as the name of the custom dimension.",
+ "type": "string"
+ }
+ }
+ },
+ "ComponentPurgeResponse": {
+ "description": "Response containing operationId for a specific purge action.",
+ "properties": {
+ "operationId": {
+ "description": "Id to use when querying for status for a particular purge operation.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "operationId"
+ ]
+ },
+ "ComponentPurgeStatusResponse": {
+ "description": "Response containing status for a specific purge operation.",
+ "properties": {
+ "status": {
+ "description": "Status of the operation represented by the requested Id.",
+ "type": "string",
+ "enum": [
+ "pending",
+ "completed"
+ ],
+ "x-ms-enum": {
+ "name": "PurgeState",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "status"
+ ]
+ },
+ "PublicNetworkAccessType": {
+ "type": "string",
+ "description": "The network access type for operating on the Application Insights Component. By default it is Enabled",
+ "default": "Enabled",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "PublicNetworkAccessType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Enabled",
+ "description": "Enables connectivity to Application Insights through public DNS."
+ },
+ {
+ "value": "Disabled",
+ "description": "Disables public connectivity to Application Insights through public DNS."
+ }
+ ]
+ }
+ }
+ },
+ "parameters": {
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Application Insights component resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "ComponentPurgeParameter": {
+ "name": "body",
+ "in": "body",
+ "description": "Describes the body of a request to purge data in a single table of an Application Insights component",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ComponentPurgeBody"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "ComponentPurgeIdParameter": {
+ "name": "purgeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "In a purge status request, this is the Id of the operation the status of which is returned.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsCreate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsCreate.json
new file mode 100644
index 000000000000..e47be170ccc3
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsCreate.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2020-02-02",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "my-component",
+ "InsightProperties": {
+ "location": "South Central US",
+ "kind": "web",
+ "properties": {
+ "Application_Type": "web",
+ "Flow_Type": "Bluefield",
+ "WorkspaceResourceId": "/subscriptions/subid/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
+ "Request_Source": "rest"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component",
+ "name": "my-component",
+ "type": "Microsoft.Insights/components",
+ "location": "South Central US",
+ "tags": "",
+ "kind": "web",
+ "properties": {
+ "ApplicationId": "my-component",
+ "AppId": "887f4bfd-b5fd-40d7-9fc3-123456789abc",
+ "Application_Type": "web",
+ "Flow_Type": "Bluefield",
+ "Request_Source": "rest",
+ "InstrumentationKey": "bc095013-3cf2-45ac-ab47-123456789abc",
+ "CreationDate": "2017-01-24T01:05:38.5934061+00:00",
+ "TenantId": "f438d567-7177-4fe1-a5e3-123456789abc",
+ "HockeyAppId": "",
+ "HockeyAppToken": "",
+ "provisioningState": "Succeeded",
+ "SamplingPercentage": 100.0,
+ "WorkspaceResourceId": "/subscriptions/subid/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
+ "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc",
+ "DisableIpMasking": false,
+ "publicNetworkAccessForQuery": "Enabled",
+ "publicNetworkAccessForIngestion": "Enabled",
+ "IngestionMode": "LogAnalytics"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsDelete.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsDelete.json
new file mode 100644
index 000000000000..2e8b78b498f1
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-02-02",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "my-component"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsGet.json
new file mode 100644
index 000000000000..92fc3f43beb7
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsGet.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2020-02-02",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "my-component"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component",
+ "name": "my-component",
+ "type": "Microsoft.Insights/components",
+ "location": "South Central US",
+ "tags": "",
+ "kind": "web",
+ "properties": {
+ "ApplicationId": "my-component",
+ "AppId": "887f4bfd-b5fd-40d7-9fc3-123456789abc",
+ "Application_Type": "web",
+ "Flow_Type": "Bluefield",
+ "Request_Source": "rest",
+ "InstrumentationKey": "bc095013-3cf2-45ac-ab47-123456789abc",
+ "CreationDate": "2017-01-24T01:05:38.5934061+00:00",
+ "TenantId": "f438d567-7177-4fe1-a5e3-123456789abc",
+ "HockeyAppId": "",
+ "HockeyAppToken": "",
+ "provisioningState": "Succeeded",
+ "SamplingPercentage": 100.0,
+ "WorkspaceResourceId": "/subscriptions/subid/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
+ "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc",
+ "DisableIpMasking": false,
+ "publicNetworkAccessForQuery": "Enabled",
+ "publicNetworkAccessForIngestion": "Enabled",
+ "IngestionMode": "LogAnalytics"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsList.json
new file mode 100644
index 000000000000..4d5b050bbcbc
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsList.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2020-02-02",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component",
+ "name": "my-component",
+ "type": "Microsoft.Insights/components",
+ "location": "South Central US",
+ "tags": "",
+ "kind": "web",
+ "properties": {
+ "ApplicationId": "my-component",
+ "AppId": "16526d1a-dfba-4362-a9e9-123456789abc",
+ "Application_Type": "web",
+ "Flow_Type": "Bluefield",
+ "Request_Source": "rest",
+ "InstrumentationKey": "dc5931c7-a7ad-4ad0-89d6-123456789abc",
+ "CreationDate": "2017-02-14T12:24:05.0041213+00:00",
+ "TenantId": "f438d567-7177-4fe1-a5e3-123456789abc",
+ "HockeyAppId": "",
+ "HockeyAppToken": "",
+ "provisioningState": "Succeeded",
+ "SamplingPercentage": 75.0,
+ "WorkspaceResourceId": "/subscriptions/subid/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
+ "ConnectionString": "InstrumentationKey=dc5931c7-a7ad-4ad0-89d6-123456789abc",
+ "DisableIpMasking": false,
+ "publicNetworkAccessForQuery": "Enabled",
+ "publicNetworkAccessForIngestion": "Enabled",
+ "IngestionMode": "LogAnalytics"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/my-other-resource-group/providers/Microsoft.Insights/components/my-other-component",
+ "name": "my-other-component",
+ "type": "Microsoft.Insights/components",
+ "location": "South Central US",
+ "tags": "",
+ "kind": "web",
+ "properties": {
+ "ApplicationId": "my-other-component",
+ "AppId": "887f4bfd-b5fd-40d7-9fc3-123456789abc",
+ "Application_Type": "web",
+ "Flow_Type": "Bluefield",
+ "Request_Source": "rest",
+ "InstrumentationKey": "bc095013-3cf2-45ac-ab47-123456789abc",
+ "CreationDate": "2017-01-24T01:05:38.5934061+00:00",
+ "TenantId": "f438d567-7177-4fe1-a5e3-123456789abc",
+ "HockeyAppId": "",
+ "HockeyAppToken": "",
+ "provisioningState": "Succeeded",
+ "SamplingPercentage": 30.0,
+ "WorkspaceResourceId": "/subscriptions/subid/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
+ "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc",
+ "DisableIpMasking": false,
+ "publicNetworkAccessForQuery": "Enabled",
+ "publicNetworkAccessForIngestion": "Enabled",
+ "IngestionMode": "LogAnalytics"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsListByResourceGroup.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsListByResourceGroup.json
new file mode 100644
index 000000000000..e7cfff55f02e
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsListByResourceGroup.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2020-02-02",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component",
+ "name": "my-component",
+ "type": "Microsoft.Insights/components",
+ "location": "South Central US",
+ "tags": "",
+ "kind": "web",
+ "properties": {
+ "ApplicationId": "my-component",
+ "AppId": "16526d1a-dfba-4362-a9e9-123456789abc",
+ "Application_Type": "web",
+ "Flow_Type": "Bluefield",
+ "Request_Source": "rest",
+ "InstrumentationKey": "dc5931c7-a7ad-4ad0-89d6-123456789abc",
+ "CreationDate": "2017-02-14T12:24:05.0041213+00:00",
+ "TenantId": "f438d567-7177-4fe1-a5e3-123456789abc",
+ "HockeyAppId": "",
+ "HockeyAppToken": "",
+ "provisioningState": "Succeeded",
+ "SamplingPercentage": 100.0,
+ "WorkspaceResourceId": "/subscriptions/subid/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
+ "ConnectionString": "InstrumentationKey=dc5931c7-a7ad-4ad0-89d6-123456789abc",
+ "DisableIpMasking": false,
+ "publicNetworkAccessForQuery": "Enabled",
+ "publicNetworkAccessForIngestion": "Enabled",
+ "IngestionMode": "LogAnalytics"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/my-other-resource-group/providers/Microsoft.Insights/components/my-other-component",
+ "name": "my-other-component",
+ "type": "Microsoft.Insights/components",
+ "location": "South Central US",
+ "tags": "",
+ "kind": "web",
+ "properties": {
+ "ApplicationId": "my-other-component",
+ "AppId": "887f4bfd-b5fd-40d7-9fc3-123456789abc",
+ "Application_Type": "web",
+ "Flow_Type": "Bluefield",
+ "Request_Source": "rest",
+ "InstrumentationKey": "bc095013-3cf2-45ac-ab47-123456789abc",
+ "CreationDate": "2017-01-24T01:05:38.5934061+00:00",
+ "TenantId": "f438d567-7177-4fe1-a5e3-123456789abc",
+ "HockeyAppId": "",
+ "HockeyAppToken": "",
+ "provisioningState": "Succeeded",
+ "SamplingPercentage": 50.0,
+ "WorkspaceResourceId": "/subscriptions/subid/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
+ "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc",
+ "DisableIpMasking": false,
+ "publicNetworkAccessForQuery": "Enabled",
+ "publicNetworkAccessForIngestion": "Enabled",
+ "IngestionMode": "LogAnalytics"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsPurge.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsPurge.json
new file mode 100644
index 000000000000..8fa7612ae7f2
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsPurge.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceGroupName": "OIAutoRest5123",
+ "resourceName": "aztest5048",
+ "api-version": "2020-02-02",
+ "subscriptionId": "00000000-0000-0000-0000-00000000000",
+ "body": {
+ "table": "Heartbeat",
+ "filters": [
+ {
+ "column": "TimeGenerated",
+ "operator": ">",
+ "value": "2017-09-01T00:00:00"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "x-ms-status-location": "https://management.azure.com/subscriptions/b96161de-b34a-480f-7343-59b099299283/resourceGroups/example/providers/microsoft.insights/components/test/operations/purge-970318e7-b859-4edb-8903-83b1b54d0b74?api-version=2015-05-01"
+ },
+ "body": {
+ "operationId": "7d7cf277-9113-4ab3-8359-d0364b74d01d"
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsPurgeStatus.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsPurgeStatus.json
new file mode 100644
index 000000000000..0f38ffa06709
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsPurgeStatus.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "resourceGroupName": "OIAutoRest5123",
+ "resourceName": "aztest5048",
+ "api-version": "2020-02-02",
+ "subscriptionId": "00000000-0000-0000-0000-00000000000",
+ "purgeId": "purge-970318e7-b859-4edb-8903-83b1b54d0b74"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "completed"
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsUpdate.json
new file mode 100644
index 000000000000..5130daaccc3c
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsUpdate.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2020-02-02",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "my-component",
+ "InsightProperties": {
+ "location": "South Central US",
+ "kind": "web",
+ "tags": {
+ "ApplicationGatewayType": "Internal-Only",
+ "BillingEntity": "Self"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component",
+ "name": "my-component",
+ "type": "Microsoft.Insights/components",
+ "location": "South Central US",
+ "tags": {
+ "ApplicationGatewayType": "Internal-Only",
+ "BillingEntity": "Self"
+ },
+ "kind": "web",
+ "properties": {
+ "ApplicationId": "my-component",
+ "AppId": "887f4bfd-b5fd-40d7-9fc3-123456789abc",
+ "Application_Type": "web",
+ "Flow_Type": "Bluefield",
+ "Request_Source": "rest",
+ "InstrumentationKey": "bc095013-3cf2-45ac-ab47-123456789abc",
+ "CreationDate": "2017-01-24T01:05:38.5934061+00:00",
+ "TenantId": "f438d567-7177-4fe1-a5e3-123456789abc",
+ "HockeyAppId": "",
+ "HockeyAppToken": "",
+ "provisioningState": "Succeeded",
+ "SamplingPercentage": 100.0,
+ "WorkspaceResourceId": "/subscriptions/subid/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
+ "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc",
+ "DisableIpMasking": false,
+ "publicNetworkAccessForQuery": "Enabled",
+ "publicNetworkAccessForIngestion": "Enabled",
+ "IngestionMode": "LogAnalytics"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsUpdateTagsOnly.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsUpdateTagsOnly.json
new file mode 100644
index 000000000000..a01dea72ce89
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsUpdateTagsOnly.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2020-02-02",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "my-component",
+ "ComponentTags": {
+ "tags": {
+ "ApplicationGatewayType": "Internal-Only",
+ "BillingEntity": "Self",
+ "Color": "AzureBlue",
+ "CustomField_01": "Custom text in some random field named randomly",
+ "NodeType": "Edge"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component",
+ "name": "my-component",
+ "type": "Microsoft.Insights/components",
+ "location": "South Central US",
+ "tags": {
+ "ApplicationGatewayType": "Internal-Only",
+ "BillingEntity": "Self",
+ "Color": "AzureBlue",
+ "CustomField_01": "Custom text in some random field named randomly",
+ "NodeType": "Edge"
+ },
+ "kind": "web",
+ "properties": {
+ "ApplicationId": "my-component",
+ "AppId": "887f4bfd-b5fd-40d7-9fc3-123456789abc",
+ "Application_Type": "web",
+ "Flow_Type": "Bluefield",
+ "Request_Source": "rest",
+ "InstrumentationKey": "bc095013-3cf2-45ac-ab47-123456789abc",
+ "CreationDate": "2017-01-24T01:05:38.5934061+00:00",
+ "TenantId": "f438d567-7177-4fe1-a5e3-123456789abc",
+ "HockeyAppId": "",
+ "HockeyAppToken": "",
+ "provisioningState": "Succeeded",
+ "SamplingPercentage": 100.0,
+ "WorkspaceResourceId": "/subscriptions/subid/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
+ "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc",
+ "DisableIpMasking": false,
+ "publicNetworkAccessForQuery": "Enabled",
+ "publicNetworkAccessForIngestion": "Enabled",
+ "IngestionMode": "LogAnalytics"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-10-20/myworkbooks_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-10-20/myworkbooks_API.json
index 8e0eeb3f9050..32705a23b87b 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-10-20/myworkbooks_API.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-10-20/myworkbooks_API.json
@@ -322,7 +322,7 @@
"properties": {
"identity": {
"description": "Identity used for BYOS",
- "$ref": "#/definitions/ManagedIdentity"
+ "$ref": "#/definitions/MyWorkbookManagedIdentity"
},
"id": {
"type": "string",
@@ -512,11 +512,11 @@
}
}
},
- "ManagedIdentity": {
+ "MyWorkbookManagedIdentity": {
"description": "Customer Managed Identity",
"properties": {
"userAssignedIdentities": {
- "$ref": "#/definitions/UserAssignedIdentities"
+ "$ref": "#/definitions/MyWorkbookUserAssignedIdentities"
},
"type": {
"type": "string",
@@ -528,7 +528,7 @@
}
}
},
- "UserAssignedIdentities": {
+ "MyWorkbookUserAssignedIdentities": {
"description": "Customer Managed Identity",
"properties": {
"principalId": {
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-10-20/workbookOperations_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-10-20/workbookOperations_API.json
index 64553e8f509f..696bb3de114e 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-10-20/workbookOperations_API.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-10-20/workbookOperations_API.json
@@ -1,8 +1,8 @@
{
"swagger": "2.0",
"info": {
- "title": "WorkbookClient",
- "description": "Azure client for Workbook.",
+ "title": "ApplicationInsightsManagementClient",
+ "description": "Azure Application Insights client for web test based alerting.",
"version": "2020-10-20"
},
"host": "management.azure.com",
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 8535d2e992ce..990e8ddf964e 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
@@ -334,7 +334,7 @@
"properties": {
"identity": {
"description": "Identity used for BYOS",
- "$ref": "#/definitions/ManagedIdentity"
+ "$ref": "#/definitions/WorkbookManagedIdentity"
},
"id": {
"type": "string",
@@ -577,11 +577,11 @@
}
}
},
- "ManagedIdentity": {
+ "WorkbookManagedIdentity": {
"description": "Customer Managed Identity",
"properties": {
"userAssignedIdentities": {
- "$ref": "#/definitions/UserAssignedIdentities"
+ "$ref": "#/definitions/WorkbookUserAssignedIdentities"
},
"type": {
"type": "string",
@@ -593,7 +593,7 @@
}
}
},
- "UserAssignedIdentities": {
+ "WorkbookUserAssignedIdentities": {
"description": "Customer Managed Identity",
"properties": {
"principalId": {
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-11-20/examples/WorkbookTemplateAdd.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-11-20/examples/WorkbookTemplateAdd.json
new file mode 100644
index 000000000000..8663f997ee22
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-11-20/examples/WorkbookTemplateAdd.json
@@ -0,0 +1,151 @@
+{
+ "parameters": {
+ "api-version": "2020-11-20",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "testtemplate2",
+ "subscriptionId": "subid",
+ "workbookTemplateProperties": {
+ "location": "west us",
+ "properties": {
+ "priority": 1,
+ "author": "Contoso",
+ "galleries": [
+ {
+ "name": "Simple Template",
+ "category": "Failures",
+ "type": "tsg",
+ "resourceType": "microsoft.insights/components",
+ "order": 100
+ }
+ ],
+ "templateData": {
+ "version": "Notebook/1.0",
+ "items": [
+ {
+ "type": 1,
+ "content": {
+ "json": "## New workbook\n---\n\nWelcome to your new workbook. This area will display text formatted as markdown.\n\n\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections."
+ },
+ "name": "text - 2"
+ },
+ {
+ "type": 3,
+ "content": {
+ "version": "KqlItem/1.0",
+ "query": "union withsource=TableName *\n| summarize Count=count() by TableName\n| render barchart",
+ "size": 1,
+ "exportToExcelOptions": "visible",
+ "queryType": 0,
+ "resourceType": "microsoft.operationalinsights/workspaces"
+ },
+ "name": "query - 2"
+ }
+ ],
+ "styleSettings": {},
+ "$schema": "https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json"
+ }
+ },
+ "tags": null
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testtemplate2",
+ "location": "westeurope",
+ "tags": null,
+ "type": "microsoft.insights/workbooktemplates",
+ "id": "/subscriptions/50359d91-7b9d-4823-85af-eb298a61ba95/resourceGroups/testrg/providers/microsoft.insights/workbooktemplates/testtemplate2",
+ "properties": {
+ "priority": 1,
+ "author": "Contoso",
+ "templateData": {
+ "version": "Notebook/1.0",
+ "items": [
+ {
+ "type": 1,
+ "content": {
+ "json": "## New workbook\n---\n\nWelcome to your new workbook. This area will display text formatted as markdown.\n\n\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections."
+ },
+ "name": "text - 2"
+ },
+ {
+ "type": 3,
+ "content": {
+ "version": "KqlItem/1.0",
+ "query": "union withsource=TableName *\n| summarize Count=count() by TableName\n| render barchart",
+ "size": 1,
+ "exportToExcelOptions": "visible",
+ "queryType": 0,
+ "resourceType": "microsoft.operationalinsights/workspaces"
+ },
+ "name": "query - 2"
+ }
+ ],
+ "styleSettings": {},
+ "$schema": "https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json"
+ },
+ "galleries": [
+ {
+ "name": "Simple Template",
+ "category": "Failures",
+ "order": 100,
+ "type": "tsg",
+ "resourceType": "microsoft.insights/components"
+ }
+ ],
+ "localized": null
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "testtemplate2",
+ "location": "westeurope",
+ "tags": null,
+ "type": "microsoft.insights/workbooktemplates",
+ "id": "/subscriptions/50359d91-7b9d-4823-85af-eb298a61ba95/resourceGroups/testrg/providers/microsoft.insights/workbooktemplates/testtemplate2",
+ "properties": {
+ "priority": 1,
+ "author": "Contoso",
+ "templateData": {
+ "version": "Notebook/1.0",
+ "items": [
+ {
+ "type": 1,
+ "content": {
+ "json": "## New workbook\n---\n\nWelcome to your new workbook. This area will display text formatted as markdown.\n\n\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections."
+ },
+ "name": "text - 2"
+ },
+ {
+ "type": 3,
+ "content": {
+ "version": "KqlItem/1.0",
+ "query": "union withsource=TableName *\n| summarize Count=count() by TableName\n| render barchart",
+ "size": 1,
+ "exportToExcelOptions": "visible",
+ "queryType": 0,
+ "resourceType": "microsoft.operationalinsights/workspaces"
+ },
+ "name": "query - 2"
+ }
+ ],
+ "styleSettings": {},
+ "$schema": "https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json"
+ },
+ "galleries": [
+ {
+ "name": "Simple Template",
+ "category": "Failures",
+ "order": 100,
+ "type": "tsg",
+ "resourceType": "microsoft.insights/components"
+ }
+ ],
+ "localized": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-11-20/examples/WorkbookTemplateDelete.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-11-20/examples/WorkbookTemplateDelete.json
new file mode 100644
index 000000000000..64d42232a606
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-11-20/examples/WorkbookTemplateDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-11-20",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "my-template-resource"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-11-20/examples/WorkbookTemplateGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-11-20/examples/WorkbookTemplateGet.json
new file mode 100644
index 000000000000..a7d732cd4e0c
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-11-20/examples/WorkbookTemplateGet.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2020-11-20",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "my-resource-name"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "my-resource-name",
+ "type": "microsoft.insights/workbooktemplate",
+ "location": "westus",
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/microsoft.insights/workbooktemplates/my-resource-name",
+ "properties": {
+ "priority": 1,
+ "author": "Contoso",
+ "galleries": [
+ {
+ "name": "Simple Template",
+ "category": "Failures",
+ "type": "tsg",
+ "resourceType": "microsoft.insights/components",
+ "order": 100
+ }
+ ],
+ "templateData": {
+ "version": "Notebook/1.0",
+ "items": [
+ {
+ "type": 1,
+ "content": {
+ "json": "## New workbook\n---\n\nWelcome to your new workbook. This area will display text formatted as markdown.\n\n\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections."
+ },
+ "name": "text - 2"
+ },
+ {
+ "type": 3,
+ "content": {
+ "version": "KqlItem/1.0",
+ "query": "union withsource=TableName *\n| summarize Count=count() by TableName\n| render barchart",
+ "size": 1,
+ "exportToExcelOptions": "visible",
+ "queryType": 0,
+ "resourceType": "microsoft.operationalinsights/workspaces"
+ },
+ "name": "query - 2"
+ }
+ ],
+ "styleSettings": {},
+ "$schema": "https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json"
+ }
+ },
+ "tags": null
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-11-20/examples/WorkbookTemplateUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-11-20/examples/WorkbookTemplateUpdate.json
new file mode 100644
index 000000000000..4ed5d1eb0513
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-11-20/examples/WorkbookTemplateUpdate.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "api-version": "2020-11-20",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "my-template-resource",
+ "workbookTemplateProperties": {
+ "name": "display-name-of-template",
+ "location": "west us",
+ "type": "microsoft.insights/workbooktemplates",
+ "properties": {
+ "priority": 1,
+ "author": "Contoso",
+ "galleries": [
+ {
+ "name": "Simple Template",
+ "category": "Failures",
+ "type": "tsg",
+ "resourceType": "microsoft.insights/components",
+ "order": 100
+ }
+ ],
+ "templateData": {
+ "version": "Notebook/1.0",
+ "items": [
+ {
+ "type": 1,
+ "content": {
+ "json": "## New workbook\n---\n\nWelcome to your new workbook. This area will display text formatted as markdown.\n\n\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections."
+ },
+ "name": "text - 2"
+ },
+ {
+ "type": 3,
+ "content": {
+ "version": "KqlItem/1.0",
+ "query": "union withsource=TableName *\n| summarize Count=count() by TableName\n| render barchart",
+ "size": 1,
+ "exportToExcelOptions": "visible",
+ "queryType": 0,
+ "resourceType": "microsoft.operationalinsights/workspaces"
+ },
+ "name": "query - 2"
+ }
+ ],
+ "styleSettings": {},
+ "$schema": "https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json"
+ }
+ },
+ "tags": null
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "testtemplate2",
+ "location": "westeurope",
+ "tags": null,
+ "type": "microsoft.insights/workbooktemplates",
+ "id": "/subscriptions/50359d91-7b9d-4823-85af-eb298a61ba95/resourceGroups/testrg/providers/microsoft.insights/workbooktemplates/testtemplate2",
+ "properties": {
+ "priority": 1,
+ "author": "Contoso",
+ "templateData": {
+ "version": "Notebook/1.0",
+ "items": [
+ {
+ "type": 1,
+ "content": {
+ "json": "## New workbook\n---\n\nWelcome to your new workbook. This area will display text formatted as markdown.\n\n\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections."
+ },
+ "name": "text - 2"
+ },
+ {
+ "type": 3,
+ "content": {
+ "version": "KqlItem/1.0",
+ "query": "union withsource=TableName *\n| summarize Count=count() by TableName\n| render barchart",
+ "size": 1,
+ "exportToExcelOptions": "visible",
+ "queryType": 0,
+ "resourceType": "microsoft.operationalinsights/workspaces"
+ },
+ "name": "query - 2"
+ }
+ ],
+ "styleSettings": {},
+ "$schema": "https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json"
+ },
+ "galleries": [
+ {
+ "name": "Simple Template",
+ "category": "Failures",
+ "order": 100,
+ "type": "tsg",
+ "resourceType": "microsoft.insights/components"
+ }
+ ],
+ "localized": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-11-20/examples/WorkbookTemplatesList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-11-20/examples/WorkbookTemplatesList.json
new file mode 100644
index 000000000000..3153adea2d45
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-11-20/examples/WorkbookTemplatesList.json
@@ -0,0 +1,105 @@
+{
+ "parameters": {
+ "api-version": "2020-11-20",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "name": "my-resource-name",
+ "type": "microsoft.insights/workbooktemplate",
+ "location": "westus",
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/microsoft.insights/workbooktemplates/my-resource-name",
+ "properties": {
+ "priority": 1,
+ "author": "Contoso",
+ "galleries": [
+ {
+ "name": "Simple Template",
+ "category": "Failures",
+ "type": "tsg",
+ "resourceType": "microsoft.insights/components",
+ "order": 100
+ }
+ ],
+ "templateData": {
+ "version": "Notebook/1.0",
+ "items": [
+ {
+ "type": 1,
+ "content": {
+ "json": "## New workbook\n---\n\nWelcome to your new workbook. This area will display text formatted as markdown.\n\n\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections."
+ },
+ "name": "text - 2"
+ },
+ {
+ "type": 3,
+ "content": {
+ "version": "KqlItem/1.0",
+ "query": "union withsource=TableName *\n| summarize Count=count() by TableName\n| render barchart",
+ "size": 1,
+ "exportToExcelOptions": "visible",
+ "queryType": 0,
+ "resourceType": "microsoft.operationalinsights/workspaces"
+ },
+ "name": "query - 2"
+ }
+ ],
+ "styleSettings": {},
+ "$schema": "https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json"
+ }
+ },
+ "tags": null
+ },
+ {
+ "name": "my-resource-name2",
+ "type": "microsoft.insights/workbooktemplate",
+ "location": "westus",
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/microsoft.insights/workbooktemplates/my-resource-name2",
+ "properties": {
+ "priority": 1,
+ "author": "Contoso",
+ "galleries": [
+ {
+ "name": "Simple Template 2",
+ "category": "Failures",
+ "type": "tsg",
+ "resourceType": "microsoft.insights/components",
+ "order": 100
+ }
+ ],
+ "templateData": {
+ "version": "Notebook/1.0",
+ "items": [
+ {
+ "type": 1,
+ "content": {
+ "json": "## New workbook\n---\n\nWelcome to your new workbook. This area will display text formatted as markdown.\n\n\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections."
+ },
+ "name": "text - 2"
+ },
+ {
+ "type": 3,
+ "content": {
+ "version": "KqlItem/1.0",
+ "query": "union withsource=TableName *\n| summarize Count=count() by TableName\n| render barchart",
+ "size": 1,
+ "exportToExcelOptions": "visible",
+ "queryType": 0,
+ "resourceType": "microsoft.operationalinsights/workspaces"
+ },
+ "name": "query - 2"
+ }
+ ],
+ "styleSettings": {},
+ "$schema": "https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json"
+ }
+ },
+ "tags": null
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-11-20/workbookTemplates_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-11-20/workbookTemplates_API.json
new file mode 100644
index 000000000000..67f063f7dd1b
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-11-20/workbookTemplates_API.json
@@ -0,0 +1,473 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApplicationInsightsManagementClient",
+ "description": "Azure Application Insights workbook template type.",
+ "version": "2020-11-20"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/workbooktemplates": {
+ "get": {
+ "description": "Get all Workbook templates defined within a specified resource group.",
+ "operationId": "WorkbookTemplates_ListByResourceGroup",
+ "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": "A list containing 0 or more workbook template definitions.",
+ "schema": {
+ "$ref": "#/definitions/WorkbookTemplatesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/WorkbookTemplateError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "WorkbookTemplatesList": {
+ "$ref": "./examples/WorkbookTemplatesList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/workbooktemplates/{resourceName}": {
+ "get": {
+ "description": "Get a single workbook template by its resourceName.",
+ "operationId": "WorkbookTemplates_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkbookTemplateResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A workbook template definition.",
+ "schema": {
+ "$ref": "#/definitions/WorkbookTemplate"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/WorkbookTemplateError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WorkbookTemplateGet": {
+ "$ref": "./examples/WorkbookTemplateGet.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Delete a workbook template.",
+ "operationId": "WorkbookTemplates_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkbookTemplateResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The workbook template has been successfully deleted."
+ },
+ "204": {
+ "description": "The resource doesn't exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/WorkbookTemplateError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WorkbookTemplateDelete": {
+ "$ref": "./examples/WorkbookTemplateDelete.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Create a new workbook template.",
+ "operationId": "WorkbookTemplates_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkbookTemplateResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "workbookTemplateProperties",
+ "description": "Properties that need to be specified to create a new workbook.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/WorkbookTemplate"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The newly created workbook template.",
+ "schema": {
+ "$ref": "#/definitions/WorkbookTemplate"
+ }
+ },
+ "201": {
+ "description": "The newly created workbook template.",
+ "schema": {
+ "$ref": "#/definitions/WorkbookTemplate"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/WorkbookTemplateError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WorkbookTemplateAdd": {
+ "$ref": "./examples/WorkbookTemplateAdd.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Updates a workbook template that has already been added.",
+ "operationId": "WorkbookTemplates_Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkbookTemplateResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "WorkbookTemplateUpdateParameters",
+ "description": "Properties that need to be specified to patch a workbook template.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/WorkbookTemplateUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The workbook template definition updated.",
+ "schema": {
+ "$ref": "#/definitions/WorkbookTemplate"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/WorkbookTemplateError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WorkbookTemplateUpdate": {
+ "$ref": "./examples/WorkbookTemplateUpdate.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "WorkbookTemplateResource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource Id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource name."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true,
+ "description": "An azure resource object"
+ },
+ "WorkbookTemplatesListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WorkbookTemplate"
+ },
+ "description": "An array of workbook templates."
+ }
+ },
+ "description": "WorkbookTemplate list result."
+ },
+ "WorkbookTemplate": {
+ "description": "An Application Insights workbook template definition.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/WorkbookTemplateResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Metadata describing a workbook template for an Azure resource.",
+ "$ref": "#/definitions/WorkbookTemplateProperties"
+ }
+ }
+ },
+ "WorkbookTemplateProperties": {
+ "description": "Properties that contain a workbook template.",
+ "required": [
+ "templateData",
+ "galleries"
+ ],
+ "properties": {
+ "priority": {
+ "type": "integer",
+ "description": "Priority of the template. Determines which template to open when a workbook gallery is opened in viewer mode.",
+ "format": "int32"
+ },
+ "author": {
+ "type": "string",
+ "description": "Information about the author of the workbook template."
+ },
+ "templateData": {
+ "type": "object",
+ "description": "Valid JSON object containing workbook template payload."
+ },
+ "galleries": {
+ "type": "array",
+ "description": "Workbook galleries supported by the template.",
+ "items": {
+ "$ref": "#/definitions/WorkbookTemplateGallery"
+ }
+ },
+ "localized": {
+ "type": "object",
+ "description": "Key value pair of localized gallery. Each key is the locale code of languages supported by the Azure portal.",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WorkbookTemplateLocalizedGallery"
+ }
+ }
+ }
+ }
+ },
+ "WorkbookTemplateGallery": {
+ "description": "Gallery information for a workbook template.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the workbook template in the gallery."
+ },
+ "category": {
+ "type": "string",
+ "description": "Category for the gallery."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of workbook supported by the workbook template."
+ },
+ "order": {
+ "type": "integer",
+ "description": "Order of the template within the gallery.",
+ "format": "int32"
+ },
+ "resourceType": {
+ "type": "string",
+ "description": "Azure resource type supported by the gallery."
+ }
+ }
+ },
+ "WorkbookTemplateLocalizedGallery": {
+ "description": "Localized template data and gallery information.",
+ "properties": {
+ "templateData": {
+ "type": "object",
+ "description": "Valid JSON object containing workbook template payload."
+ },
+ "galleries": {
+ "type": "array",
+ "description": "Workbook galleries supported by the template.",
+ "items": {
+ "$ref": "#/definitions/WorkbookTemplateGallery"
+ }
+ }
+ }
+ },
+ "WorkbookTemplateUpdateParameters": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Metadata describing a workbook for an Azure resource.",
+ "$ref": "#/definitions/WorkbookTemplateProperties"
+ }
+ },
+ "description": "The parameters that can be provided when updating workbook template."
+ },
+ "WorkbookTemplateErrorFieldContract": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Property level error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Human-readable representation of property-level error."
+ },
+ "target": {
+ "type": "string",
+ "description": "Property name."
+ }
+ },
+ "description": "Error Field contract."
+ },
+ "WorkbookTemplateError": {
+ "description": "Error message that will indicate why the operation failed.",
+ "properties": {
+ "error": {
+ "description": "Error message object that will indicate why the operation failed.",
+ "$ref": "#/definitions/WorkbookTemplateErrorBody"
+ }
+ }
+ },
+ "WorkbookTemplateErrorBody": {
+ "description": "Error message body that will indicate why the operation failed.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response."
+ },
+ "message": {
+ "type": "string",
+ "description": "Human-readable representation of the error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WorkbookTemplateErrorFieldContract"
+ },
+ "description": "The list of invalid fields send in request, in case of validation error."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "WorkbookTemplateResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Application Insights component resource.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/MyWorkbookAdd.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/MyWorkbookAdd.json
new file mode 100644
index 000000000000..39ef41be4f49
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/MyWorkbookAdd.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2021-03-08",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "subscriptionId": "00000000-0000-0000-0000-00000000",
+ "workbookProperties": {
+ "id": "c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "location": "west us",
+ "kind": "user",
+ "properties": {
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens",
+ "displayName": "Blah Blah Blah",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "category": "workbook"
+ },
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/my-resource-group/providers/Microsoft.Insights/myworkbooks/deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "type": "Microsoft.Insights/myworkbooks",
+ "location": "westus",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "kind": "user",
+ "properties": {
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens",
+ "displayName": "Blah Blah Blah",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "ME",
+ "category": "workbook",
+ "storageUri": null
+ },
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ]
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/my-resource-group/providers/Microsoft.Insights/myworkbooks/deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "type": "",
+ "location": "westus",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "kind": "user",
+ "properties": {
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens",
+ "displayName": "Blah Blah Blah",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "ME",
+ "category": "workbook",
+ "storageUri": null
+ },
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/MyWorkbookDelete.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/MyWorkbookDelete.json
new file mode 100644
index 000000000000..6fe14177a4c3
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/MyWorkbookDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-03-08",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/MyWorkbookGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/MyWorkbookGet.json
new file mode 100644
index 000000000000..6385bf46b2b9
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/MyWorkbookGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-03-08",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/Microsoft.Insights/myworkbooks/deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "type": "Microsoft.Insights/myworkbooks",
+ "location": "westus",
+ "kind": "user",
+ "properties": {
+ "displayName": "My New Workbook",
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens",
+ "userId": "userId",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "ME",
+ "category": "workbook",
+ "timeModified": null,
+ "storageUri": null
+ },
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/MyWorkbookUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/MyWorkbookUpdate.json
new file mode 100644
index 000000000000..06990a02a99e
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/MyWorkbookUpdate.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2021-03-08",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "workbookProperties": {
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "location": "west us",
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ],
+ "kind": "user",
+ "properties": {
+ "displayName": "Blah Blah Blah",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "ME",
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens",
+ "category": "workbook",
+ "storageUri": null
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "type": "Microsoft.Insights/myworkbooks",
+ "location": "westus",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ],
+ "kind": "user",
+ "properties": {
+ "displayName": "Blah Blah Blah",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "ME",
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens",
+ "category": "workbook",
+ "storageUri": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/MyWorkbooksList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/MyWorkbooksList.json
new file mode 100644
index 000000000000..71cc5ed69865
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/MyWorkbooksList.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2021-03-08",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "category": "workbook"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/Microsoft.Insights/myworkbooks/c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "type": "Microsoft.Insights/myworkbooks",
+ "location": "westus",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "tags": [],
+ "kind": "user",
+ "properties": {
+ "displayName": "My Workbook 1",
+ "userId": "userId",
+ "serializedData": "{\"verion\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "ME",
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens",
+ "category": "workbook",
+ "timeModified": null,
+ "storageUri": null
+ }
+ },
+ {
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/Microsoft.Insights/myworkbooks/c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "type": "Microsoft.Insights/myworkbooks",
+ "location": "westus",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "kind": "user",
+ "tags": [
+ "SampleTag01",
+ "SampleTag2"
+ ],
+ "properties": {
+ "displayName": "My Workbook 2",
+ "userId": "userId",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "ME",
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens",
+ "category": "workbook",
+ "timeModified": null,
+ "storageUri": null
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/MyWorkbooksList2.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/MyWorkbooksList2.json
new file mode 100644
index 000000000000..4c664375c951
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/MyWorkbooksList2.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-03-08",
+ "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/2021-03-08/examples/WorkbookAdd.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookAdd.json
new file mode 100644
index 000000000000..daed083d4b6c
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookAdd.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "api-version": "2021-03-08",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "subscriptionId": "subid",
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourcegroups/MyGroup",
+ "workbookProperties": {
+ "id": "c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "location": "west us",
+ "name": "Blah Blah Blah",
+ "kind": "shared",
+ "properties": {
+ "displayName": "tttt",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "category": "workbook",
+ "description": "Sample workbook"
+ },
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "type": "",
+ "location": "westus",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "kind": "shared",
+ "properties": {
+ "displayName": "Blah Blah Blah",
+ "userId": "userId",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "ME",
+ "category": "workbook",
+ "timeModified": null,
+ "storageUri": null,
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb"
+ },
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ]
+ }
+ },
+ "201": {
+ "body": {
+ "id": "c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "type": "",
+ "location": "westus",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "kind": "shared",
+ "properties": {
+ "displayName": "Blah Blah Blah",
+ "userId": "userId",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "ME",
+ "category": "workbook",
+ "timeModified": null,
+ "storageUri": null,
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb"
+ },
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookDelete.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookDelete.json
new file mode 100644
index 000000000000..6fe14177a4c3
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-03-08",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookGet.json
new file mode 100644
index 000000000000..cfd0adde20c0
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-03-08",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "type": "",
+ "location": "westus",
+ "kind": "shared",
+ "properties": {
+ "displayName": "My New Workbook",
+ "userId": "userId",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "ME",
+ "category": "workbook",
+ "timeModified": null,
+ "storageUri": null,
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb"
+ },
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookGet1.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookGet1.json
new file mode 100644
index 000000000000..ecb41edfce50
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookGet1.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-03-08",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "type": "",
+ "location": "westus",
+ "kind": "shared",
+ "properties": {
+ "displayName": "My New Workbook",
+ "userId": "userId",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "ME",
+ "category": "workbook",
+ "timeModified": null,
+ "storageUri": null
+ },
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookManagedAdd.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookManagedAdd.json
new file mode 100644
index 000000000000..c503061bcbe9
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookManagedAdd.json
@@ -0,0 +1,106 @@
+{
+ "parameters": {
+ "api-version": "2021-03-08",
+ "resourceGroupName": "my-resource-group",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourcegroups/MyGroup",
+ "workbookProperties": {
+ "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourcegroups/MyGroup/providers/Microsoft.Insights/workbooks/e378d137-1243-4256-b5c4-ad2a937cae79",
+ "name": "e378d137-1243-4256-b5c4-ad2a937cae79",
+ "location": "westus",
+ "tags": {
+ "hidden-title": "tttt"
+ },
+ "kind": "shared",
+ "etag": "\"4a00f78d-0000-0700-0000-5f8f616c1000\"",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {}
+ }
+ },
+ "properties": {
+ "displayName": "tttt",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":{\"json\":\"test\"},\"name\":\"text - 0\"}],\"isLocked\":false,\"fallbackResourceIds\":[\"/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup\"]}",
+ "version": "Notebook/1.0",
+ "category": "workbook",
+ "tags": [],
+ "description": "Sample workbook",
+ "storageUri": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270432",
+ "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9x19"
+ }
+ }
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourcegroups/MyGroup/providers/Microsoft.Insights/workbooks/72377f0c-b7e7-4044-a882-471bcbd9696e",
+ "name": "e378d137-1243-4256-b5c4-ad2a937cae79",
+ "type": "Microsoft.Insights/workbooks",
+ "location": "westus",
+ "tags": {
+ "hidden-title": "tttt"
+ },
+ "kind": "user",
+ "etag": "\"4a00f85e-0000-0700-0000-5f8f5dfa0000\"",
+ "properties": {
+ "displayName": "tttt",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[],\"isLocked\":false,\"fallbackResourceIds\":[\"/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.OperationalInsights/workspaces/test-ws\"]}",
+ "version": "Notebook/1.0",
+ "category": "workbook",
+ "userId": "70d90f65-8a70-4e42-b8d5-86gv25e0a90f",
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourcegroups/MyGroup",
+ "timeModified": "2020-10-20T22:00:26.4229554Z",
+ "tags": [],
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb",
+ "storageUri": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270432",
+ "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9x19"
+ }
+ }
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourcegroups/MyGroup/providers/Microsoft.Insights/workbooks/72377f0c-b7e7-4044-a882-471bcbd9696e",
+ "name": "e378d137-1243-4256-b5c4-ad2a937cae79",
+ "type": "Microsoft.Insights/workbooks",
+ "location": "westus",
+ "tags": {
+ "hidden-title": "tttt"
+ },
+ "kind": "user",
+ "etag": "\"4a00f85e-0000-0700-0000-5f8f5dfa0000\"",
+ "properties": {
+ "displayName": "tttt",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[],\"isLocked\":false,\"fallbackResourceIds\":[\"/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.OperationalInsights/workspaces/test-ws\"]}",
+ "version": "Notebook/1.0",
+ "category": "workbook",
+ "userId": "70d90f65-8a70-4e42-b8d5-86gv25e0a90f",
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourcegroups/MyGroup",
+ "timeModified": "2020-10-20T22:00:26.4229554Z",
+ "tags": [],
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb",
+ "storageUri": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookManagedGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookManagedGet.json
new file mode 100644
index 000000000000..7b451edb229a
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookManagedGet.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2021-03-08",
+ "subscriptionId": "8980832b-9589-4ac2-b322-a6ae6a97f02b",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270432",
+ "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9x19"
+ },
+ "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": {
+ "clientId": "47429305-c0d3-40bc-8595-6194sdfdf3dc",
+ "principalId": "bf9ebbc8-b92d-4752-8e66-c999d560326e0"
+ }
+ }
+ },
+ "id": "/subscriptions/8980832b-9589-4ac2-b322-a6ae6a97f02b/resourcegroups/vutest1/providers/Microsoft.Insights/workbooks/76cb9d13-93c0-4939-ab7d-4a7bd959e1ad",
+ "name": "76cb9d13-93c0-4939-ab7d-4a7bd959e1ad",
+ "type": "Microsoft.Insights/workbooks",
+ "location": "westcentralus",
+ "tags": {
+ "hidden-title": "azuremon"
+ },
+ "kind": "shared",
+ "etag": "\"0c003cb4-0000-0600-0000-5f5203c60000\"",
+ "properties": {
+ "displayName": "azuremon",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":{\"json\":\"testing1\"},\"showPin\":false,\"name\":\"text - 0\"}],\"isLocked\":true,\"fallbackResourceIds\":[\"Azure Monitor\"]}",
+ "version": "Notebook/1.0",
+ "category": "workbook",
+ "userId": "51d1409c-d725-4550-ac03-98c0bef9ef07",
+ "sourceId": "azure monitor",
+ "timeModified": "2020-09-04T09:07:17.735638Z",
+ "tags": [],
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb",
+ "storageUri": "/subscriptions/8980832b-9589-4ac2-b322-a6ae6a97f02b/resourceGroups/VuTest1/providers/Microsoft.Storage/storageAccounts/vutest1/blobServices/default/containers/testcmk2"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookManagedUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookManagedUpdate.json
new file mode 100644
index 000000000000..70a82b300308
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookManagedUpdate.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2021-03-08",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourcegroups/MyGroup",
+ "id": "e378d137-1243-4256-b5c4-562a937cae79",
+ "name": "e378d137-1243-4256-b5c4-562a937cae79",
+ "location": "westus",
+ "tags": null,
+ "type": "Microsoft.Insights/workbooks",
+ "kind": "shared",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {},
+ "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": {}
+ }
+ },
+ "properties": {
+ "displayName": "tttt",
+ "version": "Notebook/1.0",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":{\"json\":\"test\"},\"name\":\"text - 0\"}],\"isLocked\":false,\"fallbackResourceIds\":[\"/subscriptions/8980832b-9589-4ac2-b322-a6ae6a97f02b/resourceGroups/MyGroup\"]}",
+ "category": "workbook",
+ "isPersisted": true,
+ "timeModified": "2020-10-20T22:00:26.4229554Z",
+ "tags": [],
+ "description": "Sample workbook",
+ "storageUri": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270432",
+ "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9x19"
+ },
+ "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": {
+ "clientId": "47429305-c0d3-40bc-8595-6194sdfdf3dc",
+ "principalId": "bf9ebbc8-b92d-4752-8e66-c999d560326e0"
+ }
+ }
+ },
+ "id": "/subscriptions/8980832b-9589-4ac2-b322-a6ae6a97f02b/resourcegroups/MyGroup/providers/Microsoft.Insights/workbooks/e378d137-1243-4256-b5c4-562a937cae79",
+ "name": "e378d137-1243-4256-b5c4-562a937cae79",
+ "type": "Microsoft.Insights/workbooks",
+ "location": "westus",
+ "tags": {
+ "hidden-title": "tttt"
+ },
+ "kind": "shared",
+ "etag": "\"4a00f78d-0000-0700-0000-5f8f616c0000\"",
+ "properties": {
+ "displayName": "tttt",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":{\"json\":\"test\"},\"name\":\"text - 0\"}],\"isLocked\":false,\"fallbackResourceIds\":[\"/subscriptions/8980832b-9589-4ac2-b322-a6ae6a97f02b/resourceGroups/MyGroup\"]}",
+ "version": "Notebook/1.0",
+ "category": "workbook",
+ "userId": "70d90f65-8a70-4e42-b8d5-863725e0a90f",
+ "sourceId": "/subscriptions/8980832b-9589-4ac2-b322-a6ae6a97f02b/resourcegroups/MyGroup",
+ "timeModified": "2020-10-20T22:15:08.1875458Z",
+ "tags": [],
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb",
+ "storageUri": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookRevisionGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookRevisionGet.json
new file mode 100644
index 000000000000..63a551267bc0
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookRevisionGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2021-03-08",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "revisionId": "1e2f8435b98248febee70c64ac22e1ab"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "type": "",
+ "location": "westus",
+ "kind": "shared",
+ "properties": {
+ "displayName": "My New Workbook",
+ "userId": "userId",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "ME",
+ "category": "workbook",
+ "timeModified": null,
+ "storageUri": null,
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1ab"
+ },
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookRevisionsList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookRevisionsList.json
new file mode 100644
index 000000000000..7f2b5b6311e3
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookRevisionsList.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2021-03-08",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "id": "c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "type": "",
+ "location": "westus",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "tags": [],
+ "properties": {
+ "name": "My Workbook 1",
+ "userId": "userId",
+ "sourceId": "Azure Monitor",
+ "serializedData": null,
+ "version": "ME",
+ "workbookId": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "kind": "shared",
+ "category": "workbook",
+ "timeModified": null,
+ "storageUri": null,
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1ab"
+ }
+ },
+ {
+ "id": "c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "type": "",
+ "location": "westus",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "tags": [
+ "SampleTag01",
+ "SampleTag2"
+ ],
+ "properties": {
+ "name": "My Workbook 2",
+ "userId": "userId",
+ "sourceId": "Azure Monitor",
+ "serializedData": null,
+ "version": "ME",
+ "workbookId": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "kind": "shared",
+ "category": "workbook",
+ "timeModified": null,
+ "storageUri": null,
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookUpdate.json
new file mode 100644
index 000000000000..3346fb2e2120
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbookUpdate.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2021-03-08",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "sourceId": "/subscriptions/ad2f1a83-caac-4e21-9d2a-9ca3f87105e2/resourceGroups/Default-Web-WestUS/providers/Microsoft.Web/sites/MyTestApp-CodeLens1",
+ "workbookProperties": {
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "location": "west us",
+ "kind": "shared",
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ],
+ "properties": {
+ "name": "Blah Blah Blah",
+ "userId": "userId",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "ME",
+ "workbookId": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "category": "workbook",
+ "timeModified": null,
+ "description": "Sample workbook"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "type": "",
+ "location": "westus",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "kind": "shared",
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ],
+ "properties": {
+ "displayName": "Blah Blah Blah",
+ "userId": "userId",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "ME",
+ "category": "workbook",
+ "timeModified": null,
+ "storageUri": null,
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbooksList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbooksList.json
new file mode 100644
index 000000000000..88c54c67fe23
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbooksList.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2021-03-08",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "category": "workbook",
+ "sourceId": "/subscriptions/ad2f1a83-caac-4e21-9d2a-9ca3f87105e2/resourceGroups/Default-Web-WestUS/providers/Microsoft.Web/sites/MyTestApp-CodeLens1"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "id": "c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "type": "",
+ "location": "westus",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "tags": [],
+ "properties": {
+ "name": "My Workbook 1",
+ "userId": "userId",
+ "sourceId": "Azure Monitor",
+ "serializedData": "{\"verion\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "ME",
+ "workbookId": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "kind": "shared",
+ "category": "workbook",
+ "timeModified": null,
+ "storageUri": null,
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb"
+ }
+ },
+ {
+ "id": "c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "type": "",
+ "location": "westus",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "tags": [
+ "SampleTag01",
+ "SampleTag2"
+ ],
+ "properties": {
+ "name": "My Workbook 2",
+ "userId": "userId",
+ "sourceId": "Azure Monitor",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "ME",
+ "workbookId": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "kind": "shared",
+ "category": "workbook",
+ "timeModified": null,
+ "storageUri": null,
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbooksList2.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbooksList2.json
new file mode 100644
index 000000000000..4c664375c951
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbooksList2.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-03-08",
+ "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/2021-03-08/examples/WorkbooksManagedList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbooksManagedList.json
new file mode 100644
index 000000000000..f21b223e3125
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/examples/WorkbooksManagedList.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2021-03-08",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac119r124af",
+ "resourceGroupName": "my-resource-group",
+ "category": "workbook",
+ "sourceId": "/subscriptions/ad2f1a83-caac-4e21-9d2a-9ca3f87105e2/resourceGroups/Default-Web-WestUS/providers/Microsoft.Web/sites/MyTestApp-CodeLens1"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270433",
+ "principalId": "075a0ca6-4326-4434-9abf-c9b1b79f9x19"
+ }
+ }
+ },
+ "id": "c0deea5e-3344-40f2-96f8-6f8e1cdd5722",
+ "type": "",
+ "location": "westus",
+ "name": "deadb33f-8bee-4ddq-a059-9be8dac93960",
+ "tags": [],
+ "properties": {
+ "name": "My Workbook 1",
+ "userId": "userId",
+ "sourceId": "Azure Monitor",
+ "serializedData": "{\"verion\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "ME",
+ "workbookId": "deadb33f-8bee-4ddq-a059-9be8dac93960",
+ "kind": "shared",
+ "category": "workbook",
+ "timeModified": null,
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb",
+ "storageUri": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer"
+ }
+ },
+ {
+ "id": "c0deea5e-3344-40f2-96f8-6f8e1cdd5722",
+ "type": "",
+ "location": "westus",
+ "name": "deadb33f-8bee-4ddq-a059-9be8dac93960",
+ "tags": [
+ "SampleTag01",
+ "SampleTag2"
+ ],
+ "properties": {
+ "name": "My Workbook 2",
+ "userId": "userId",
+ "sourceId": "Azure Monitor",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "ME",
+ "workbookId": "deadb33f-8bee-4ddq-a059-9be8dac93960",
+ "kind": "shared",
+ "category": "workbook",
+ "timeModified": null,
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb",
+ "storageUri": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer"
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/myworkbooks_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/myworkbooks_API.json
new file mode 100644
index 000000000000..6d2b747a1a88
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/myworkbooks_API.json
@@ -0,0 +1,607 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApplicationInsightsManagementClient",
+ "description": "Azure Application Insights private workbook type.",
+ "version": "2021-03-08"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/myWorkbooks": {
+ "get": {
+ "description": "Get all private workbooks defined within a specified resource group and category.",
+ "operationId": "MyWorkbooks_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CategoryParameter"
+ },
+ {
+ "$ref": "#/parameters/TagsParameter"
+ },
+ {
+ "$ref": "#/parameters/SourceIdParameter"
+ },
+ {
+ "$ref": "#/parameters/CanFetchWorkbookContentParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list containing 0 or more private workbook definitions.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbooksListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbookError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "WorkbooksList": {
+ "$ref": "./examples/MyWorkbooksList.json"
+ },
+ "WorkbooksList2": {
+ "$ref": "./examples/MyWorkbooksList2.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/myWorkbooks": {
+ "get": {
+ "description": "Get all private workbooks defined within a specified subscription and category.",
+ "operationId": "MyWorkbooks_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/CategoryParameter"
+ },
+ {
+ "$ref": "#/parameters/TagsParameter"
+ },
+ {
+ "$ref": "#/parameters/CanFetchWorkbookContentParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list containing 0 or more private workbook definitions.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbooksListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbookError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "WorkbooksList": {
+ "$ref": "./examples/MyWorkbooksList.json"
+ },
+ "WorkbooksList2": {
+ "$ref": "./examples/MyWorkbooksList2.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/myWorkbooks/{resourceName}": {
+ "get": {
+ "description": "Get a single private workbook by its resourceName.",
+ "operationId": "MyWorkbooks_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkbookResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A private workbook definition.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbook"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbookError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WorkbookGet": {
+ "$ref": "./examples/MyWorkbookGet.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Delete a private workbook.",
+ "operationId": "MyWorkbooks_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkbookResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The private workbook has been successfully deleted."
+ },
+ "204": {
+ "description": "The resource doesn't exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbookError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WorkbookDelete": {
+ "$ref": "./examples/MyWorkbookDelete.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Create a new private workbook.",
+ "operationId": "MyWorkbooks_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkbookResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SourceIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "workbookProperties",
+ "description": "Properties that need to be specified to create a new private workbook.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MyWorkbook"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The newly created private workbook.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbook"
+ }
+ },
+ "201": {
+ "description": "The newly created private workbook.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbook"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbookError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WorkbookAdd": {
+ "$ref": "./examples/MyWorkbookAdd.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Updates a private workbook that has already been added.",
+ "operationId": "MyWorkbooks_Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkbookResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SourceIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "workbookProperties",
+ "description": "Properties that need to be specified to create a new private workbook.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MyWorkbook"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The private workbook definition updated.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbook"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbookError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WorkbookUpdate": {
+ "$ref": "./examples/MyWorkbookUpdate.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "MyWorkbookResource": {
+ "properties": {
+ "identity": {
+ "description": "Identity used for BYOS",
+ "$ref": "#/definitions/MyWorkbookManagedIdentity"
+ },
+ "id": {
+ "type": "string",
+ "description": "Azure resource Id",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "Azure resource name",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "type": {
+ "type": "string",
+ "description": "Azure resource type",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "etag": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource etag"
+ }
+ },
+ "x-ms-azure-resource": true,
+ "description": "An azure resource object"
+ },
+ "MyWorkbooksListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/MyWorkbook"
+ },
+ "description": "An array of private workbooks."
+ },
+ "nextLink": {
+ "type": "string"
+ }
+ },
+ "description": "Workbook list result."
+ },
+ "MyWorkbook": {
+ "description": "An Application Insights private workbook definition.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MyWorkbookResource"
+ }
+ ],
+ "properties": {
+ "kind": {
+ "type": "string",
+ "description": "The kind of workbook. Choices are user and shared.",
+ "enum": [
+ "user",
+ "shared"
+ ],
+ "x-ms-enum": {
+ "name": "kind",
+ "modelAsString": true
+ }
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Metadata describing a workbook for an Azure resource.",
+ "$ref": "#/definitions/MyWorkbookProperties"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ }
+ }
+ },
+ "MyWorkbookProperties": {
+ "description": "Properties that contain a private workbook.",
+ "required": [
+ "displayName",
+ "category",
+ "serializedData"
+ ],
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "The user-defined name of the private workbook."
+ },
+ "serializedData": {
+ "type": "string",
+ "x-nullable": true,
+ "description": "Configuration of this particular private workbook. Configuration data is a string containing valid JSON"
+ },
+ "version": {
+ "type": "string",
+ "description": "This instance's version of the data model. This can change as new features are added that can be marked private workbook."
+ },
+ "timeModified": {
+ "type": "string",
+ "description": "Date and time in UTC of the last modification that was made to this private workbook definition.",
+ "readOnly": true
+ },
+ "category": {
+ "type": "string",
+ "description": "Workbook category, as defined by the user at creation time."
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of 0 or more tags that are associated with this private workbook definition"
+ },
+ "userId": {
+ "type": "string",
+ "description": "Unique user id of the specific user that owns this private workbook.",
+ "readOnly": true
+ },
+ "sourceId": {
+ "type": "string",
+ "description": "Optional resourceId for a source resource."
+ },
+ "storageUri": {
+ "type": "string",
+ "x-nullable": true,
+ "description": "BYOS Storage Account URI"
+ }
+ }
+ },
+ "MyWorkbookError": {
+ "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
+ },
+ "innererror": {
+ "description": "Internal error details.",
+ "items": {
+ "$ref": "#/definitions/InnerErrorTrace"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "InnerErrorTrace": {
+ "description": "Error details",
+ "properties": {
+ "trace": {
+ "description": "detailed error trace",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "MyWorkbookManagedIdentity": {
+ "description": "Customer Managed Identity",
+ "properties": {
+ "userAssignedIdentities": {
+ "$ref": "#/definitions/MyWorkbookUserAssignedIdentities"
+ },
+ "type": {
+ "type": "string",
+ "description": "The identity type.",
+ "enum": [
+ "UserAssigned",
+ "None"
+ ]
+ }
+ }
+ },
+ "MyWorkbookUserAssignedIdentities": {
+ "description": "Customer Managed 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."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "WorkbookResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Application Insights component resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "CategoryParameter": {
+ "name": "category",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "workbook",
+ "TSG",
+ "performance",
+ "retention"
+ ],
+ "x-ms-enum": {
+ "name": "CategoryType",
+ "modelAsString": true
+ },
+ "description": "Category of workbook to return.",
+ "x-ms-parameter-location": "method"
+ },
+ "SourceIdParameter": {
+ "name": "sourceId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Azure Resource Id that will fetch all linked workbooks.",
+ "x-ms-parameter-location": "method"
+ },
+ "CanFetchWorkbookContentParameter": {
+ "name": "canFetchContent",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Flag indicating whether or not to return the full content for each applicable workbook. If false, only return summary content for workbooks.",
+ "x-ms-parameter-location": "method"
+ },
+ "TagsParameter": {
+ "name": "tags",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "csv",
+ "description": "Tags presents on each workbook returned.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/workbookOperations_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/workbookOperations_API.json
new file mode 100644
index 000000000000..abcf9a510a93
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/workbookOperations_API.json
@@ -0,0 +1,158 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "WorkbookClient",
+ "description": "Azure client for Workbook.",
+ "version": "2021-03-08"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.Insights/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available insights REST API operations.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Insights error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ }
+ },
+ "definitions": {
+ "ErrorResponse": {
+ "description": "Error response indicates Insights service is not able to process the incoming request. The reason is provided in the error message.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorFieldContract"
+ },
+ "description": "The list of invalid fields send in request, in case of validation error."
+ }
+ }
+ },
+ "ErrorFieldContract": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Property level error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Human-readable representation of property-level error."
+ },
+ "target": {
+ "type": "string",
+ "description": "Property name."
+ }
+ },
+ "description": "Error Field contract."
+ },
+ "Operation": {
+ "description": "Azure Workbooks 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.Insights",
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list Azure Workbooks 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 Workbook operations supported by the Microsoft.Insights resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/workbooks_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/workbooks_API.json
new file mode 100644
index 000000000000..1b6848a9216c
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/workbooks_API.json
@@ -0,0 +1,792 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApplicationInsightsManagementClient",
+ "description": "Azure Application Insights workbook type.",
+ "version": "2021-03-08"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/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.",
+ "operationId": "Workbooks_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CategoryParameter"
+ },
+ {
+ "$ref": "#/parameters/TagsParameter"
+ },
+ {
+ "$ref": "#/parameters/SourceIdParameter"
+ },
+ {
+ "$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"
+ },
+ "WorkbooksManagedList": {
+ "$ref": "./examples/WorkbooksManagedList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/workbooks/{resourceName}": {
+ "get": {
+ "description": "Get a single workbook by its resourceName.",
+ "operationId": "Workbooks_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkbookResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A workbook definition.",
+ "schema": {
+ "$ref": "#/definitions/Workbook"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/WorkbookError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WorkbookGet": {
+ "$ref": "./examples/WorkbookGet.json"
+ },
+ "WorkbookGet1": {
+ "$ref": "./examples/WorkbookGet1.json"
+ },
+ "WorkbookManagedGet": {
+ "$ref": "./examples/WorkbookManagedGet.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Delete a workbook.",
+ "operationId": "Workbooks_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkbookResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The workbook has been successfully deleted."
+ },
+ "204": {
+ "description": "The resource doesn't exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/WorkbookError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WorkbookDelete": {
+ "$ref": "./examples/WorkbookDelete.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Create a new workbook.",
+ "operationId": "Workbooks_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkbookResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SourceIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "workbookProperties",
+ "description": "Properties that need to be specified to create a new workbook.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Workbook"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The newly created workbook.",
+ "schema": {
+ "$ref": "#/definitions/Workbook"
+ }
+ },
+ "201": {
+ "description": "The newly created workbook.",
+ "schema": {
+ "$ref": "#/definitions/Workbook"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/WorkbookError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WorkbookManagedAdd": {
+ "$ref": "./examples/WorkbookManagedAdd.json"
+ },
+ "WorkbookAdd": {
+ "$ref": "./examples/WorkbookAdd.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Updates a workbook that has already been added.",
+ "operationId": "Workbooks_Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkbookResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SourceIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "WorkbookUpdateParameters",
+ "description": "Properties that need to be specified to create a new workbook.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/WorkbookUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The workbook definition updated.",
+ "schema": {
+ "$ref": "#/definitions/Workbook"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/WorkbookError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WorkbookManagedUpdate": {
+ "$ref": "./examples/WorkbookManagedUpdate.json"
+ },
+ "WorkbookUpdate": {
+ "$ref": "./examples/WorkbookUpdate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/workbooks/{resourceName}/revisions": {
+ "get": {
+ "description": "Get the revisions for the workbook defined by its resourceName.",
+ "operationId": "Workbooks_RevisionsList",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkbookResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A 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": {
+ "WorkbookRevisionsList": {
+ "$ref": "./examples/WorkbookRevisionsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/workbooks/{resourceName}/revisions/{revisionId}": {
+ "get": {
+ "description": "Get a single workbook revision defined by its revisionId.",
+ "operationId": "Workbooks_RevisionGet",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkbookResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkbookRevisionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A workbook definition.",
+ "schema": {
+ "$ref": "#/definitions/Workbook"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/WorkbookError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WorkbookRevisionGet": {
+ "$ref": "./examples/WorkbookRevisionGet.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Resource": {
+ "properties": {
+ "identity": {
+ "description": "Identity used for BYOS",
+ "$ref": "#/definitions/WorkbookManagedIdentity"
+ },
+ "id": {
+ "type": "string",
+ "description": "Azure resource Id",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "Azure resource name",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "type": {
+ "type": "string",
+ "description": "Azure resource type",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "etag": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource etag"
+ }
+ },
+ "x-ms-azure-resource": true,
+ "description": "An azure resource object"
+ },
+ "WorkbooksListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Workbook"
+ },
+ "description": "An array of workbooks."
+ },
+ "nextLink": {
+ "type": "string"
+ }
+ },
+ "description": "Workbook list result."
+ },
+ "Workbook": {
+ "description": "An Application Insights workbook definition.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "kind": {
+ "type": "string",
+ "description": "The kind of workbook. Choices are user and shared.",
+ "enum": [
+ "user",
+ "shared"
+ ],
+ "x-ms-enum": {
+ "name": "kind",
+ "modelAsString": true
+ }
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Metadata describing a workbook for an Azure resource.",
+ "$ref": "#/definitions/WorkbookProperties"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ }
+ }
+ },
+ "WorkbookProperties": {
+ "description": "Properties that contain a workbook.",
+ "required": [
+ "displayName",
+ "category",
+ "serializedData"
+ ],
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "The user-defined name (display name) of the workbook."
+ },
+ "serializedData": {
+ "type": "string",
+ "x-nullable": true,
+ "description": "Configuration of this particular workbook. Configuration data is a string containing valid JSON"
+ },
+ "version": {
+ "type": "string",
+ "description": "Workbook version"
+ },
+ "timeModified": {
+ "type": "string",
+ "description": "Date and time in UTC of the last modification that was made to this workbook definition.",
+ "readOnly": true
+ },
+ "category": {
+ "type": "string",
+ "description": "Workbook category, as defined by the user at creation time."
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of 0 or more tags that are associated with this workbook definition"
+ },
+ "userId": {
+ "type": "string",
+ "description": "Unique user id of the specific user that owns this workbook.",
+ "readOnly": true
+ },
+ "sourceId": {
+ "type": "string",
+ "description": "ResourceId for a source resource."
+ },
+ "storageUri": {
+ "type": "string",
+ "x-nullable": true,
+ "description": "BYOS Storage Account URI"
+ },
+ "description": {
+ "type": "string",
+ "x-nullable": true,
+ "description": "The description of the workbook."
+ },
+ "revision": {
+ "type": "string",
+ "x-nullable": true,
+ "description": "The unique revision id for this workbook definition"
+ }
+ }
+ },
+ "WorkbookUpdateParameters": {
+ "properties": {
+ "kind": {
+ "type": "string",
+ "description": "The kind of workbook. Choices are user and shared.",
+ "enum": [
+ "user",
+ "shared"
+ ],
+ "x-ms-enum": {
+ "name": "SharedTypeKind",
+ "modelAsString": true
+ }
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Metadata describing a workbook for an Azure resource.",
+ "$ref": "#/definitions/WorkbookPropertiesUpdateParameters"
+ }
+ },
+ "description": "The parameters that can be provided when updating workbook properties properties."
+ },
+ "WorkbookPropertiesUpdateParameters": {
+ "description": "Properties that contain a workbook for PATCH operation.",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "The user-defined name (display name) of the workbook."
+ },
+ "serializedData": {
+ "type": "string",
+ "description": "Configuration of this particular workbook. Configuration data is a string containing valid JSON"
+ },
+ "category": {
+ "type": "string",
+ "description": "Workbook category, as defined by the user at creation time."
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of 0 or more tags that are associated with this workbook definition"
+ },
+ "description": {
+ "type": "string",
+ "x-nullable": true,
+ "description": "The description of the workbook."
+ },
+ "revision": {
+ "type": "string",
+ "x-nullable": true,
+ "description": "The unique revision id for this workbook definition"
+ }
+ }
+ },
+ "WorkbookError": {
+ "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
+ },
+ "innererror": {
+ "description": "Internal error details.",
+ "items": {
+ "$ref": "#/definitions/InnerErrorTrace"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "InnerErrorTrace": {
+ "description": "Error details",
+ "properties": {
+ "trace": {
+ "description": "detailed error trace",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "WorkbookManagedIdentity": {
+ "description": "Customer Managed Identity",
+ "properties": {
+ "userAssignedIdentities": {
+ "$ref": "#/definitions/WorkbookUserAssignedIdentities"
+ },
+ "type": {
+ "type": "string",
+ "description": "The identity type.",
+ "enum": [
+ "UserAssigned",
+ "None"
+ ]
+ }
+ }
+ },
+ "WorkbookUserAssignedIdentities": {
+ "description": "Customer Managed 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."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client ID of resource."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "WorkbookResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Application Insights component resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "CategoryParameter": {
+ "name": "category",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "workbook",
+ "TSG",
+ "performance",
+ "retention"
+ ],
+ "x-ms-enum": {
+ "name": "CategoryType",
+ "modelAsString": true
+ },
+ "description": "Category of workbook to return.",
+ "x-ms-parameter-location": "method"
+ },
+ "SourceIdParameter": {
+ "name": "sourceId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Azure Resource Id that will fetch all linked workbooks.",
+ "x-ms-parameter-location": "method"
+ },
+ "CanFetchWorkbookContentParameter": {
+ "name": "canFetchContent",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Flag indicating whether or not to return the full content for each applicable workbook. If false, only return summary content for workbooks.",
+ "x-ms-parameter-location": "method"
+ },
+ "TagsParameter": {
+ "name": "tags",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "csv",
+ "description": "Tags presents on each workbook returned.",
+ "x-ms-parameter-location": "method"
+ },
+ "WorkbookRevisionIdParameter": {
+ "name": "revisionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the workbook's revision.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/readme.azureresourceschema.md b/specification/applicationinsights/resource-manager/readme.azureresourceschema.md
index 6f0621c3b69f..15fdfa11ba7a 100644
--- a/specification/applicationinsights/resource-manager/readme.azureresourceschema.md
+++ b/specification/applicationinsights/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-insights-2020-11-20
- tag: schema-insights-2020-10-20
- tag: schema-insights-2020-10-05-preview
- tag: schema-insights-2020-06-02-preview
@@ -22,6 +23,17 @@ batch:
Please also specify `--azureresourceschema-folder=`.
+### Tag: schema-insights-2020-11-20 and azureresourceschema
+
+``` yaml $(tag) == 'schema-insights-2020-11-20' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Insights/stable/2020-11-20/workbookTemplates_API.json
+
+```
+
### Tag: schema-insights-2020-10-20 and azureresourceschema
``` yaml $(tag) == 'schema-insights-2020-10-20' && $(azureresourceschema)
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..cb387c80b6fd 100644
--- a/specification/applicationinsights/resource-manager/readme.md
+++ b/specification/applicationinsights/resource-manager/readme.md
@@ -28,7 +28,7 @@ These are the global settings for the ApplicationInsights API.
title: ApplicationInsightsManagementClient
description: Composite Swagger for Application Insights Management Client
openapi-type: arm
-tag: package-preview-2020-10
+tag: package-2020-11-only
```
### Suppression
@@ -133,6 +133,12 @@ directive:
- suppress: DefaultErrorResponseSchema
from: workbooks_API.json
reason: 'consistent with existing default error response'
+ - suppress: R4009
+ from: workbookTemplates_API.json
+ reason: Existing APIs don't have systemData attribute. Suppressing so don't have to make breaking change
+ - suppress: R4017
+ from: workbookTemplates_API.json
+ reason: Does not support list by subscription
- suppress: DefaultErrorResponseSchema
from: workbookOperations_API.json
reason: 'consistent with existing default error response'
@@ -201,57 +207,66 @@ 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.'
+ - suppress: DefaultErrorResponseSchema
+ from: aiOperations_API
+ reason: 'consistent with existing default error response | owned by another team'
+ - suppress: OperationsApiResponseSchema
+ from: aiOperations_API
+ reason: 'consistent with existing response schema | owned by another team'
+ - suppress: RequiredReadOnlySystemData
+
```
-### Tag: package-2020-02-12
+### Tag: package-2021-03-only
-These settings apply only when `--tag=package-2020-02-12` is specified on the command line.
+These settings apply only when `--tag=package-2021-03-only` is specified on the command line.
-``` yaml $(tag) == 'package-2020-02-12'
+``` yaml $(tag) == 'package-2021-03-only'
input-file:
- - Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json
- - Microsoft.Insights/stable/2015-05-01/componentAnnotations_API.json
- - Microsoft.Insights/stable/2015-05-01/componentApiKeys_API.json
- - Microsoft.Insights/stable/2015-05-01/componentContinuousExport_API.json
- - Microsoft.Insights/stable/2015-05-01/componentFeaturesAndPricing_API.json
- - Microsoft.Insights/stable/2015-05-01/componentProactiveDetection_API.json
- - Microsoft.Insights/stable/2015-05-01/components_API.json
- - Microsoft.Insights/stable/2015-05-01/componentWorkItemConfigs_API.json
- - Microsoft.Insights/stable/2015-05-01/favorites_API.json
- - Microsoft.Insights/stable/2015-05-01/webTestLocations_API.json
- - Microsoft.Insights/stable/2015-05-01/webTests_API.json
- - Microsoft.Insights/stable/2020-10-20/myworkbooks_API.json
- - Microsoft.Insights/stable/2020-10-20/workbooks_API.json
- - Microsoft.Insights/stable/2020-10-20/workbookOperations_API.json
+ - Microsoft.Insights/stable/2021-03-08/myworkbooks_API.json
+ - Microsoft.Insights/stable/2021-03-08/workbooks_API.json
+ - Microsoft.Insights/stable/2021-03-08/workbookOperations_API.json
```
-### Tag: package-2020-10-20
+### Tag: package-preview-2021-03-only
-These settings apply only when `--tag=package-2020-10-20` is specified on the command line.
+These settings apply only when `--tag=package-preview-2021-03-only` is specified on the command line.
-``` yaml $(tag) == 'package-2020-10-20'
+```yaml $(tag) == 'package-preview-2021-03-only'
input-file:
- - Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json
- - Microsoft.Insights/stable/2015-05-01/componentAnnotations_API.json
- - Microsoft.Insights/stable/2015-05-01/componentApiKeys_API.json
- - Microsoft.Insights/stable/2015-05-01/componentContinuousExport_API.json
- - Microsoft.Insights/stable/2015-05-01/componentFeaturesAndPricing_API.json
- - Microsoft.Insights/stable/2015-05-01/componentProactiveDetection_API.json
- - Microsoft.Insights/stable/2015-05-01/components_API.json
- - Microsoft.Insights/stable/2015-05-01/componentWorkItemConfigs_API.json
- - Microsoft.Insights/stable/2015-05-01/favorites_API.json
- - Microsoft.Insights/stable/2015-05-01/webTestLocations_API.json
- - Microsoft.Insights/stable/2015-05-01/webTests_API.json
+ - Microsoft.Insights/preview/2021-03-03-preview/diagnosticServicesToken_API.json
+```
+
+### Tag: package-2020-11-only
+
+These settings apply only when `--tag=package-2020-11-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-11-only'
+input-file:
+ - Microsoft.Insights/stable/2020-11-20/workbookTemplates_API.json
+```
+
+### Tag: package-2020-10-only
+
+These settings apply only when `--tag=package-2020-10-only` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-10-only'
+input-file:
+ - Microsoft.Insights/stable/2020-10-20/workbookOperations_API.json
- Microsoft.Insights/stable/2020-10-20/myworkbooks_API.json
- Microsoft.Insights/stable/2020-10-20/workbooks_API.json
- - Microsoft.Insights/stable/2020-10-20/workbookOperations_API.json
```
-### Tag: package-preview-2020-10
+### Tag: package-preview-2020-10-only
-These settings apply only when `--tag=package-preview-2020-10` is specified on the command line.
+These settings apply only when `--tag=package-preview-2020-10-only` is specified on the command line.
-```yaml $(tag) == 'package-preview-2020-10'
+```yaml $(tag) == 'package-preview-2020-10-only'
input-file:
- Microsoft.Insights/preview/2020-10-05-preview/webTests_API.json
```
@@ -289,20 +304,11 @@ input-file:
- Microsoft.Insights/preview/2020-06-02-preview/livetoken_API.json
```
-### Tag: package-preview-2020-02
-
-These settings apply only when `--tag=package-preview-2020-02` is specified on the command line.
-
-``` yaml $(tag) == 'package-preview-2020-02'
-input-file:
- - Microsoft.Insights/preview/2020-02-10-preview/WebTestResults_API.json
-```
-
-### Tag: package-2015-05
+### Tag: package-2020-04
-These settings apply only when `--tag=package-2015-05` is specified on the command line.
+These settings apply only when `--tag=package-2020-04` is specified on the command line. For Dotnet SDK generation.
-``` yaml $(tag) == 'package-2015-05'
+``` yaml $(tag) == 'package-2020-04'
input-file:
- Microsoft.Insights/stable/2015-05-01/aiOperations_API.json
- Microsoft.Insights/stable/2015-05-01/componentAnnotations_API.json
@@ -310,7 +316,6 @@ input-file:
- Microsoft.Insights/stable/2015-05-01/componentContinuousExport_API.json
- Microsoft.Insights/stable/2015-05-01/componentFeaturesAndPricing_API.json
- Microsoft.Insights/stable/2015-05-01/componentProactiveDetection_API.json
-- Microsoft.Insights/stable/2015-05-01/components_API.json
- Microsoft.Insights/stable/2015-05-01/componentWorkItemConfigs_API.json
- Microsoft.Insights/stable/2015-05-01/favorites_API.json
- Microsoft.Insights/stable/2015-05-01/webTestLocations_API.json
@@ -318,25 +323,44 @@ input-file:
- Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json
- Microsoft.Insights/stable/2015-05-01/workbooks_API.json
- Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json
+- Microsoft.Insights/preview/2018-05-01-preview/components_API.json
+- Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json
```
-### Tag: package-2017-10
+### Tag: package-2020-03-01-preview
-These settings apply only when `--tag=package-2017-10` is specified on the command line.
+These settings apply only when `--tag=package-2020-03-01-preview` is specified on the command line.
-``` yaml $(tag) == 'package-2017-10'
+``` yaml $(tag) == 'package-2020-03-01-preview'
input-file:
-- Microsoft.Insights/preview/2017-10-01/eaSubscriptionMigration_API.json
-- Microsoft.Insights/preview/2017-10-01/componentFeaturesAndPricing_API.json
+- Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json
```
-### Tag: package-2018-06-17-preview
+### Tag: package-preview-2020-02
-These settings apply only when `--tag=package-2018-06-17-preview` is specified on the command line.
+These settings apply only when `--tag=package-preview-2020-02` is specified on the command line.
-``` yaml $(tag) == 'package-2018-06-17-preview'
+``` yaml $(tag) == 'package-preview-2020-02'
input-file:
-- Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json
+ - Microsoft.Insights/preview/2020-02-10-preview/WebTestResults_API.json
+```
+
+### Tag: package-2020-02-02-preview
+
+These settings apply only when `--tag=package-2020-02-02-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-02-02-preview'
+input-file:
+- Microsoft.Insights/preview/2020-02-02-preview/components_API.json
+```
+
+### Tag: package-2020-02-02
+
+These settings apply only when `--tag=package-2020-02-02` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-02-02'
+input-file:
+- Microsoft.Insights/stable/2020-02-02/components_API.json
```
### Tag: package-2019-10-17-preview
@@ -348,39 +372,40 @@ input-file:
- Microsoft.Insights/preview/2019-10-17-preview/workbookTemplates_API.json
```
-### Tag: package-2018-05-01-preview
+### Tag: package-2018-06-17-preview
-These settings apply only when `--tag=package-2018-05-01-preview` is specified on the command line.
+These settings apply only when `--tag=package-2018-06-17-preview` is specified on the command line.
-``` yaml $(tag) == 'package-2018-05-01-preview'
+``` yaml $(tag) == 'package-2018-06-17-preview'
input-file:
-- Microsoft.Insights/preview/2018-05-01-preview/componentProactiveDetection_API.json
-- Microsoft.Insights/preview/2018-05-01-preview/components_API.json
+- Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json
```
-### Tag: package-2020-02-02-preview
+### Tag: package-2018-05-01-preview
-These settings apply only when `--tag=package-2020-02-02-preview` is specified on the command line.
+These settings apply only when `--tag=package-2018-05-01-preview` is specified on the command line.
-``` yaml $(tag) == 'package-2020-02-02-preview'
+``` yaml $(tag) == 'package-2018-05-01-preview'
input-file:
-- Microsoft.Insights/preview/2020-02-02-preview/components_API.json
+- Microsoft.Insights/preview/2018-05-01-preview/componentProactiveDetection_API.json
+- Microsoft.Insights/preview/2018-05-01-preview/components_API.json
```
-### Tag: package-2020-03-01-preview
+### Tag: package-2017-10
-These settings apply only when `--tag=package-2020-03-01-preview` is specified on the command line.
+These settings apply only when `--tag=package-2017-10` is specified on the command line.
-``` yaml $(tag) == 'package-2020-03-01-preview'
+``` yaml $(tag) == 'package-2017-10'
input-file:
-- Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json
+- Microsoft.Insights/preview/2017-10-01/eaSubscriptionMigration_API.json
+- Microsoft.Insights/preview/2017-10-01/componentFeaturesAndPricing_API.json
```
-### Tag: package-2020-04
+### Tag: package-2015-05
-These settings apply only when `--tag=package-2020-04` is specified on the command line. For Dotnet SDK generation.
+These settings apply only when `--tag=package-2015-05` is specified on the command line.
-``` yaml $(tag) == 'package-2020-04'
+``` yaml $(tag) == 'package-2015-05'
input-file:
- Microsoft.Insights/stable/2015-05-01/aiOperations_API.json
- Microsoft.Insights/stable/2015-05-01/componentAnnotations_API.json
@@ -388,6 +413,7 @@ input-file:
- Microsoft.Insights/stable/2015-05-01/componentContinuousExport_API.json
- Microsoft.Insights/stable/2015-05-01/componentFeaturesAndPricing_API.json
- Microsoft.Insights/stable/2015-05-01/componentProactiveDetection_API.json
+- Microsoft.Insights/stable/2015-05-01/components_API.json
- Microsoft.Insights/stable/2015-05-01/componentWorkItemConfigs_API.json
- Microsoft.Insights/stable/2015-05-01/favorites_API.json
- Microsoft.Insights/stable/2015-05-01/webTestLocations_API.json
@@ -395,8 +421,6 @@ input-file:
- Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json
- Microsoft.Insights/stable/2015-05-01/workbooks_API.json
- Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json
-- Microsoft.Insights/preview/2018-05-01-preview/components_API.json
-- Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json
```
---
@@ -420,8 +444,6 @@ swagger-to-sdk:
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js applicationinsights/resource-manager
```
## Go
@@ -490,6 +512,4 @@ input-file:
- Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json
```
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/applicationinsights/resource-manager/readme.python.md b/specification/applicationinsights/resource-manager/readme.python.md
index 2bef78bb287a..45b5df9fa171 100644
--- a/specification/applicationinsights/resource-manager/readme.python.md
+++ b/specification/applicationinsights/resource-manager/readme.python.md
@@ -33,6 +33,7 @@ batch:
- tag: package-2018-06-17-preview
- tag: package-2019-10-17-preview
- tag: package-2020-02-02-preview
+ - tag: package-2020-02-02
- tag: package-2020-03-01-preview
- tag: package-preview-2020-06-only
```
@@ -44,6 +45,7 @@ batch:
- tag: package-2018-06-17-preview
- tag: package-2019-10-17-preview
- tag: package-2020-02-02-preview
+ - tag: package-2020-02-02
- tag: package-2020-03-01-preview
- tag: package-preview-2020-06-only
- multiapiscript: true
@@ -160,7 +162,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/2019-05-01-preview/appplatform.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json
index 991c4729129d..4e06ef972f13 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json
@@ -2470,23 +2470,43 @@
"properties": {
"serviceRuntimeSubnetId": {
"description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Service Runtime",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"appSubnetId": {
"description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Apps",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"serviceCidr": {
"description": "Azure Spring Cloud service reserved CIDR",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"serviceRuntimeNetworkResourceGroup": {
"description": "Name of the resource group containing network resources of Azure Spring Cloud Service Runtime",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"appNetworkResourceGroup": {
"description": "Name of the resource group containing network resources of Azure Spring Cloud Apps",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"outboundIPs": {
"description": "Desired outbound IP resources for Azure Spring Cloud instance.",
@@ -2818,11 +2838,16 @@
},
"fqdn": {
"description": "Fully qualified dns Name.",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"httpsOnly": {
"description": "Indicate if only https is allowed.",
- "type": "boolean"
+ "type": "boolean",
+ "default": false
},
"createdTime": {
"format": "date-time",
@@ -2832,7 +2857,8 @@
},
"temporaryDisk": {
"$ref": "#/definitions/TemporaryDisk",
- "description": "Temporary disk settings"
+ "description": "Temporary disk settings",
+ "default": "/tmp"
},
"persistentDisk": {
"$ref": "#/definitions/PersistentDisk",
@@ -3369,6 +3395,7 @@
},
"runtimeVersion": {
"description": "Runtime version",
+ "default": "Java_8",
"enum": [
"Java_8",
"Java_11",
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2020-11-01-preview/appplatform.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2020-11-01-preview/appplatform.json
index b8af027e3cb6..75f29e4dfae3 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2020-11-01-preview/appplatform.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2020-11-01-preview/appplatform.json
@@ -3057,23 +3057,43 @@
"properties": {
"serviceRuntimeSubnetId": {
"description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Service Runtime",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"appSubnetId": {
"description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Apps",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"serviceCidr": {
"description": "Azure Spring Cloud service reserved CIDR",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"serviceRuntimeNetworkResourceGroup": {
"description": "Name of the resource group containing network resources of Azure Spring Cloud Service Runtime",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"appNetworkResourceGroup": {
"description": "Name of the resource group containing network resources of Azure Spring Cloud Apps",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"outboundIPs": {
"description": "Desired outbound IP resources for Azure Spring Cloud instance.",
@@ -3404,11 +3424,16 @@
},
"fqdn": {
"description": "Fully qualified dns Name.",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"httpsOnly": {
"description": "Indicate if only https is allowed.",
- "type": "boolean"
+ "type": "boolean",
+ "default": false
},
"createdTime": {
"format": "date-time",
@@ -3418,7 +3443,8 @@
},
"temporaryDisk": {
"$ref": "#/definitions/TemporaryDisk",
- "description": "Temporary disk settings"
+ "description": "Temporary disk settings",
+ "default": "/tmp"
},
"persistentDisk": {
"$ref": "#/definitions/PersistentDisk",
@@ -3426,7 +3452,8 @@
},
"enableEndToEndTLS": {
"description": "Indicate if end to end TLS is enabled.",
- "type": "boolean"
+ "type": "boolean",
+ "default": false
}
}
},
@@ -3952,6 +3979,7 @@
},
"runtimeVersion": {
"description": "Runtime version",
+ "default": "Java_8",
"enum": [
"Java_8",
"Java_11",
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/appplatform.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/appplatform.json
new file mode 100644
index 000000000000..6a0cd41ee4e0
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/appplatform.json
@@ -0,0 +1,4720 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-06-01-preview",
+ "title": "AppPlatformManagementClient",
+ "description": "REST API for Azure Spring Cloud"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Get a Service and its properties.",
+ "operationId": "Services_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the corresponding Service.",
+ "schema": {
+ "$ref": "#/definitions/ServiceResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Services_Get": {
+ "$ref": "./examples/Services_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Create a new Service or update an exiting Service.",
+ "operationId": "Services_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "resource",
+ "in": "body",
+ "description": "Parameters for the create or update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServiceResource"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created. The response describes the new Service and contains a Location header to query the\r\noperation result.",
+ "schema": {
+ "$ref": "#/definitions/ServiceResource"
+ }
+ },
+ "200": {
+ "description": "Success. The response describes the updated Service.",
+ "schema": {
+ "$ref": "#/definitions/ServiceResource"
+ }
+ },
+ "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"
+ },
+ "Deployments_Get_CustomContainer": {
+ "$ref": "./examples/Deployments_Get_CustomContainer.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Create a new Deployment or update an exiting Deployment.",
+ "operationId": "Deployments_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "deploymentResource",
+ "in": "body",
+ "description": "Parameters for the create or update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DeploymentResource"
+ }
+ }
+ ],
+ "responses": {
+ "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"
+ },
+ "Deployments_CreateOrUpdate_CustomContainer": {
+ "$ref": "./examples/Deployments_CreateOrUpdate_CustomContainer.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Operation to delete a Deployment.",
+ "operationId": "Deployments_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response indicates the resource is deleted."
+ },
+ "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"
+ },
+ "Deployments_Update_CustomContainer": {
+ "$ref": "./examples/Deployments_Update_CustomContainer.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Handles requests to list all resources in an App.",
+ "operationId": "Deployments_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "name": "version",
+ "in": "query",
+ "description": "Version of the deployments to be listed",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi",
+ "uniqueItems": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of Deployments in the App.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentResourceCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Deployments_List": {
+ "$ref": "./examples/Deployments_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/deployments": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "List deployments for a certain service",
+ "operationId": "Deployments_ListForCluster",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "version",
+ "in": "query",
+ "description": "Version of the deployments to be listed",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi",
+ "uniqueItems": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeploymentResourceCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Deployments_ListForCluster": {
+ "$ref": "./examples/Deployments_ListForCluster.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/start": {
+ "post": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Start the deployment.",
+ "operationId": "Deployments_Start",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success."
+ },
+ "202": {
+ "description": "Accepted. The response indicates the Deployment is now starting and contains a Location header to\r\nquery the operation result."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Deployments_Start": {
+ "$ref": "./examples/Deployments_Start.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/stop": {
+ "post": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Stop the deployment.",
+ "operationId": "Deployments_Stop",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success."
+ },
+ "202": {
+ "description": "Accepted. The response indicates the Deployment is now stopping and contains a Location header to\r\nquery the operation result."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Deployments_Stop": {
+ "$ref": "./examples/Deployments_Stop.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/restart": {
+ "post": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Restart the deployment.",
+ "operationId": "Deployments_Restart",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success."
+ },
+ "202": {
+ "description": "Accepted. The response indicates the Deployment is now restarting and contains a Location header\r\nto query the operation result."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Deployments_Restart": {
+ "$ref": "./examples/Deployments_Restart.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/getLogFileUrl": {
+ "post": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Get deployment log file URL",
+ "operationId": "Deployments_GetLogFileUrl",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response contains the log file URL.",
+ "schema": {
+ "$ref": "#/definitions/LogFileUrlResponse"
+ }
+ },
+ "204": {
+ "description": "Success. The deployment does not have log file."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Deployments_GetLogFileUrl": {
+ "$ref": "./examples/Deployments_GetLogFileUrl.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/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 2020-11-01-preview. Please leverage appInsightsInstrumentationKey to indicate if monitoringSettings enabled or not",
+ "type": "boolean"
+ },
+ "appInsightsInstrumentationKey": {
+ "description": "Target application insight instrumentation key, null or whitespace include empty will disable monitoringSettings",
+ "type": "string"
+ },
+ "appInsightsSamplingRate": {
+ "description": "Indicates the sampling rate of application insight agent, should be in range [0.0, 100.0]",
+ "format": "double",
+ "maximum": 100.0,
+ "minimum": 0.0,
+ "type": "number"
+ },
+ "appInsightsAgentVersions": {
+ "$ref": "#/definitions/applicationInsightsAgentVersions",
+ "description": "Indicates the versions of application insight agent"
+ }
+ }
+ },
+ "applicationInsightsAgentVersions": {
+ "description": "Application Insights agent versions properties payload",
+ "type": "object",
+ "properties": {
+ "java": {
+ "description": "Indicates the version of application insight java agent",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "NetworkProfile": {
+ "description": "Service network profile payload",
+ "type": "object",
+ "properties": {
+ "serviceRuntimeSubnetId": {
+ "description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Service Runtime",
+ "type": "string"
+ },
+ "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",
+ "Container"
+ ],
+ "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"
+ },
+ "customContainer": {
+ "$ref": "#/definitions/CustomContainer",
+ "description": "Custom container payload"
+ }
+ }
+ },
+ "CustomContainer": {
+ "description": "Custom container payload",
+ "type": "object",
+ "properties": {
+ "server": {
+ "type": "string",
+ "description": "The name of the registry that contains the container image"
+ },
+ "containerImage": {
+ "type": "string",
+ "description": "Container image of the custom container. This should be in the form of : without the server name of the registry"
+ },
+ "command": {
+ "description": "Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "args": {
+ "description": "Arguments to the entrypoint. The docker image's CMD is used if this is not provided.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "imageRegistryCredential": {
+ "$ref": "#/definitions/ImageRegistryCredential",
+ "description": "Credential of the image registry"
+ }
+ }
+ },
+ "ImageRegistryCredential": {
+ "description": "Credential of the image registry",
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string",
+ "description": "The username of the image registry credential"
+ },
+ "password": {
+ "type": "string",
+ "description": "The password of the image registry credential"
+ }
+ }
+ },
+ "DeploymentSettings": {
+ "description": "Deployment settings payload",
+ "type": "object",
+ "properties": {
+ "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 2021-06-01-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 2021-06-01-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-06-01-preview/examples/Apps_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Apps_CreateOrUpdate.json
new file mode 100644
index 000000000000..7359f1fb4d42
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-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-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "public": true,
+ "url": "myapp.myservice.azuremicroservices.io",
+ "provisioningState": "Succeeded",
+ "activeDeploymentName": "mydeployment1",
+ "fqdn": "myapp.mydomain.com",
+ "httpsOnly": false,
+ "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-06-01-preview/examples/Apps_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Apps_Delete.json
new file mode 100644
index 000000000000..2a83ec3052b6
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Apps_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-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-06-01-preview/examples/Apps_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Apps_Get.json
new file mode 100644
index 000000000000..de91aff81739
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Apps_Get.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "public": true,
+ "url": "myapp.myservice.azuremicroservices.io",
+ "provisioningState": "Succeeded",
+ "activeDeploymentName": "mydeployment1",
+ "fqdn": "myapp.mydomain.com",
+ "httpsOnly": false,
+ "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-06-01-preview/examples/Apps_GetResourceUploadUrl.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Apps_GetResourceUploadUrl.json
new file mode 100644
index 000000000000..440dd309074f
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Apps_GetResourceUploadUrl.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-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-06-01-preview/examples/Apps_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Apps_List.json
new file mode 100644
index 000000000000..ea87852b56fb
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Apps_List.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "public": true,
+ "url": "myapp.myservice.azuremicroservices.io",
+ "provisioningState": "Succeeded",
+ "activeDeploymentName": "mydeployment1",
+ "fqdn": "myapp.mydomain.com",
+ "httpsOnly": false,
+ "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-06-01-preview/examples/Apps_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Apps_Update.json
new file mode 100644
index 000000000000..a103ecf7dd33
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-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-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "public": true,
+ "url": "myapp.myservice.azuremicroservices.io",
+ "provisioningState": "Succeeded",
+ "activeDeploymentName": "mydeployment1",
+ "fqdn": "myapp.mydomain.com",
+ "httpsOnly": false,
+ "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-06-01-preview/examples/Apps_ValidateDomain.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Apps_ValidateDomain.json
new file mode 100644
index 000000000000..8225a28158c0
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Apps_ValidateDomain.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "validatePayload": {
+ "name": "mydomain.io"
+ },
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isValid": false,
+ "message": "Certificate is invalid, please check if it is a self signed cert or if it contains a suitable dns name"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_CreateOrUpdate.json
new file mode 100644
index 000000000000..af805b3241cf
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-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-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "bindingName": "mybinding"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resourceName": "my-cosmosdb-1",
+ "resourceType": "Microsoft.DocumentDB",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1",
+ "bindingParameters": {
+ "databaseName": "db1",
+ "apiType": "SQL"
+ },
+ "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6",
+ "createdAt": "2019-01-01T12:34:56.000Z",
+ "updatedAt": "2019-01-01T12:34:56.000Z"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/bindings",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding",
+ "name": "mybinding"
+ }
+ },
+ "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-06-01-preview/examples/Bindings_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_Delete.json
new file mode 100644
index 000000000000..829eec03d533
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-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-06-01-preview/examples/Bindings_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_Get.json
new file mode 100644
index 000000000000..eacde307530c
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_Get.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "bindingName": "mybinding"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resourceName": "my-cosmosdb-1",
+ "resourceType": "Microsoft.DocumentDB",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1",
+ "bindingParameters": {
+ "databaseName": "db1",
+ "apiType": "SQL"
+ },
+ "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6",
+ "createdAt": "2019-01-01T12:34:56.000Z",
+ "updatedAt": "2019-01-01T12:34:56.000Z"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/bindings",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding",
+ "name": "mybinding"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_List.json
new file mode 100644
index 000000000000..60ffe4552b9b
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_List.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "resourceName": "my-cosmosdb-1",
+ "resourceType": "Microsoft.DocumentDB",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1",
+ "bindingParameters": {
+ "databaseName": "db1",
+ "apiType": "SQL"
+ },
+ "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6",
+ "createdAt": "2019-01-01T12:34:56.000Z",
+ "updatedAt": "2019-01-01T12:34:56.000Z"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/bindings",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding",
+ "name": "mybinding"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_Update.json
new file mode 100644
index 000000000000..bc32fbe3425c
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-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-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "bindingName": "mybinding"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resourceName": "my-cosmosdb-1",
+ "resourceType": "Microsoft.DocumentDB",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1",
+ "bindingParameters": {
+ "databaseName": "db1",
+ "apiType": "SQL"
+ },
+ "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6",
+ "createdAt": "2019-01-01T12:34:56.000Z",
+ "updatedAt": "2019-01-01T12:34:56.000Z"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/bindings",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding",
+ "name": "mybinding"
+ }
+ },
+ "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-06-01-preview/examples/Certificates_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Certificates_CreateOrUpdate.json
new file mode 100644
index 000000000000..51c9800f8862
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-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-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "certificateName": "mycertificate"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "vaultUri": "https://myvault.vault.azure.net",
+ "keyVaultCertName": "mycert",
+ "certVersion": "08a219d06d874795a96db47e06fbb01e",
+ "issuer": "mydomain.com",
+ "issuedDate": "2019-02-20T07:40:42Z",
+ "expirationDate": "2019-02-21T07:40:42Z",
+ "activateDate": "2019-02-22T07:40:42Z",
+ "subjectName": "mysubjectname",
+ "dnsNames": [
+ "mydomain.com",
+ "mydomain.net",
+ "mydomain.io"
+ ]
+ },
+ "type": "Microsoft.AppPlatform/Spring/certificates",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate",
+ "name": "mycertificate"
+ }
+ },
+ "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-06-01-preview/examples/Certificates_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Certificates_Delete.json
new file mode 100644
index 000000000000..fbeb0c7a5329
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Certificates_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-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-06-01-preview/examples/Certificates_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Certificates_Get.json
new file mode 100644
index 000000000000..359112afb9c1
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Certificates_Get.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "certificateName": "mycertificate"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "vaultUri": "https://myvault.vault.azure.net",
+ "keyVaultCertName": "mycert",
+ "certVersion": "08a219d06d874795a96db47e06fbb01e",
+ "issuer": "mydomain.com",
+ "issuedDate": "2019-02-20T07:40:42Z",
+ "expirationDate": "2019-02-21T07:40:42Z",
+ "activateDate": "2019-02-22T07:40:42Z",
+ "subjectName": "mysubjectname",
+ "dnsNames": [
+ "mydomain.com",
+ "mydomain.net",
+ "mydomain.io"
+ ]
+ },
+ "type": "Microsoft.AppPlatform/Spring/certificates",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate",
+ "name": "mycertificate"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Certificates_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Certificates_List.json
new file mode 100644
index 000000000000..fa6156685750
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Certificates_List.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-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-06-01-preview/examples/ConfigServers_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/ConfigServers_Get.json
new file mode 100644
index 000000000000..b6c38e511aed
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/ConfigServers_Get.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "configServer": {
+ "gitProperty": {
+ "uri": "https://github.com/fake-user/fake-repository.git",
+ "label": "master",
+ "searchPaths": [
+ "/"
+ ]
+ }
+ }
+ },
+ "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-06-01-preview/examples/ConfigServers_UpdatePatch.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/ConfigServers_UpdatePatch.json
new file mode 100644
index 000000000000..b973e1348d1a
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-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-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "provisioningState": "Updating",
+ "configServer": {
+ "gitProperty": {
+ "uri": "https://github.com/fake-user/fake-repository.git",
+ "label": "master",
+ "searchPaths": [
+ "/"
+ ]
+ }
+ }
+ },
+ "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-06-01-preview/examples/ConfigServers_UpdatePut.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/ConfigServers_UpdatePut.json
new file mode 100644
index 000000000000..b973e1348d1a
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-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-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "provisioningState": "Updating",
+ "configServer": {
+ "gitProperty": {
+ "uri": "https://github.com/fake-user/fake-repository.git",
+ "label": "master",
+ "searchPaths": [
+ "/"
+ ]
+ }
+ }
+ },
+ "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-06-01-preview/examples/ConfigServers_Validate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/ConfigServers_Validate.json
new file mode 100644
index 000000000000..f23c9eabc68d
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-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-06-01-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-06-01-preview/examples/CustomDomains_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/CustomDomains_CreateOrUpdate.json
new file mode 100644
index 000000000000..8b0cb4adf521
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/CustomDomains_CreateOrUpdate.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "domainResource": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "certName": "mycert"
+ }
+ },
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "domainName": "mydomain.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "appName": "myapp",
+ "certName": "mycert"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/domains",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com",
+ "name": "mydomain.com"
+ }
+ },
+ "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-06-01-preview/examples/CustomDomains_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/CustomDomains_Delete.json
new file mode 100644
index 000000000000..7fbf6cf41528
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/CustomDomains_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-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-06-01-preview/examples/CustomDomains_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/CustomDomains_Get.json
new file mode 100644
index 000000000000..705fea6363e2
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/CustomDomains_Get.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "domainName": "mydomain.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "appName": "myapp",
+ "certName": "mycert"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/domains",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com",
+ "name": "mydomain.com"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/CustomDomains_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/CustomDomains_List.json
new file mode 100644
index 000000000000..189f594e7e4d
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/CustomDomains_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "appName": "myapp",
+ "certName": "mycert"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/domains",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com",
+ "name": "mydomain.com"
+ }
+ ],
+ "nextLink": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains?$page=2"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/CustomDomains_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/CustomDomains_Update.json
new file mode 100644
index 000000000000..c4bd2d296b6e
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/CustomDomains_Update.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "domainResource": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "certName": "mycert"
+ }
+ },
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "domainName": "mydomain.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "appName": "myapp",
+ "certName": "mycert"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/domains",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com",
+ "name": "mydomain.com"
+ }
+ },
+ "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-06-01-preview/examples/Deployments_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Deployments_CreateOrUpdate.json
new file mode 100644
index 000000000000..7b00a461d09b
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-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-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "deploymentName": "mydeployment"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "source": {
+ "type": "Source",
+ "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc",
+ "version": "1.0",
+ "artifactSelector": "sub-module-1"
+ },
+ "appName": "myapp",
+ "deploymentSettings": {
+ "cpu": 1,
+ "memoryInGB": 3,
+ "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-06-01-preview/examples/Deployments_CreateOrUpdate_CustomContainer.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Deployments_CreateOrUpdate_CustomContainer.json
new file mode 100644
index 000000000000..dcfc365e5838
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Deployments_CreateOrUpdate_CustomContainer.json
@@ -0,0 +1,193 @@
+{
+ "parameters": {
+ "deploymentResource": {
+ "properties": {
+ "source": {
+ "type": "Container",
+ "customContainer": {
+ "server": "myacr.azurecr.io",
+ "containerImage": "myContainerImage:v1",
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ],
+ "imageRegistryCredential": {
+ "username": "myUsername",
+ "password": "myPassword"
+ }
+ }
+ },
+ "deploymentSettings": {
+ "resourceRequests": {
+ "cpu": "1000m",
+ "memory": "3Gi"
+ },
+ "environmentVariables": {
+ "env": "test"
+ }
+ },
+ "instances": null
+ }
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "deploymentName": "mydeployment"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "source": {
+ "type": "Container",
+ "customContainer": {
+ "server": "myacr.azurecr.io",
+ "containerImage": "myContainerImage:v1",
+ "imageRegistryCredential": {
+ "username": "myUsername",
+ "password": ""
+ }
+ }
+ },
+ "appName": "myapp",
+ "deploymentSettings": {
+ "cpu": 1,
+ "memoryInGB": 3,
+ "resourceRequests": {
+ "cpu": "1000m",
+ "memory": "3Gi"
+ },
+ "environmentVariables": {
+ "env": "test"
+ }
+ },
+ "provisioningState": "Creating",
+ "status": "Running",
+ "active": false,
+ "instances": [
+ {
+ "name": "instance1",
+ "status": "Running",
+ "discoveryStatus": "N/A",
+ "startTime": "2020-08-26T01:55:02Z"
+ }
+ ]
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/deployments",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment",
+ "name": "mydeployment"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "source": {
+ "type": "Container",
+ "customContainer": {
+ "server": "myacr.azurecr.io",
+ "containerImage": "myContainerImage:v1",
+ "imageRegistryCredential": {
+ "username": "myUsername",
+ "password": ""
+ }
+ }
+ },
+ "appName": "myapp",
+ "deploymentSettings": {
+ "cpu": 1,
+ "memoryInGB": 3,
+ "resourceRequests": {
+ "cpu": "1000m",
+ "memory": "3Gi"
+ },
+ "environmentVariables": {
+ "env": "test"
+ }
+ },
+ "provisioningState": "Succeeded",
+ "status": "Running",
+ "active": false,
+ "instances": [
+ {
+ "name": "instance1",
+ "status": "Running",
+ "discoveryStatus": "N/A",
+ "startTime": "2020-08-26T01:55:02Z"
+ }
+ ]
+ },
+ "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",
+ "customContainer": {
+ "server": "myacr.azurecr.io",
+ "containerImage": "myContainerImage:v1",
+ "imageRegistryCredential": {
+ "username": "myUsername",
+ "password": ""
+ }
+ }
+ },
+ "appName": "myapp",
+ "deploymentSettings": {
+ "cpu": 1,
+ "memoryInGB": 3,
+ "resourceRequests": {
+ "cpu": "1000m",
+ "memory": "3Gi"
+ },
+ "environmentVariables": {
+ "env": "test"
+ }
+ },
+ "provisioningState": "Updating",
+ "status": "Running",
+ "active": false,
+ "instances": [
+ {
+ "name": "instance1",
+ "status": "Running",
+ "discoveryStatus": "N/A",
+ "startTime": "2020-08-26T01:55:02Z"
+ }
+ ]
+ },
+ "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-06-01-preview/examples/Deployments_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Deployments_Delete.json
new file mode 100644
index 000000000000..9b38a0896f92
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Deployments_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-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-06-01-preview/examples/Deployments_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Deployments_Get.json
new file mode 100644
index 000000000000..019b49f2d8d9
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Deployments_Get.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-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-06-01-preview/examples/Deployments_GetLogFileUrl.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Deployments_GetLogFileUrl.json
new file mode 100644
index 000000000000..2153466b71a3
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Deployments_GetLogFileUrl.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-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-06-01-preview/examples/Deployments_Get_CustomContainer.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Deployments_Get_CustomContainer.json
new file mode 100644
index 000000000000..a58ecd0bee69
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Deployments_Get_CustomContainer.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "deploymentName": "mydeployment"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "source": {
+ "type": "Container",
+ "customContainer": {
+ "server": "myacr.azurecr.io",
+ "containerImage": "myContainerImage:v1",
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ],
+ "imageRegistryCredential": {
+ "username": "myUsername",
+ "password": ""
+ }
+ }
+ },
+ "appName": "myapp",
+ "deploymentSettings": {
+ "cpu": 1,
+ "memoryInGB": 3,
+ "resourceRequests": {
+ "cpu": "1000m",
+ "memory": "3Gi"
+ },
+ "environmentVariables": {
+ "env": "test"
+ }
+ },
+ "provisioningState": "Succeeded",
+ "status": "Running",
+ "active": false,
+ "instances": [
+ {
+ "name": "instance1",
+ "status": "Running",
+ "discoveryStatus": "N/A",
+ "startTime": "2020-08-26T01:55:02Z"
+ }
+ ]
+ },
+ "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-06-01-preview/examples/Deployments_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Deployments_List.json
new file mode 100644
index 000000000000..98aaab7f19b7
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Deployments_List.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "source": {
+ "type": "Source",
+ "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc",
+ "version": "1.0",
+ "artifactSelector": "sub-module-1"
+ },
+ "appName": "myapp",
+ "deploymentSettings": {
+ "cpu": 1,
+ "memoryInGB": 3,
+ "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-06-01-preview/examples/Deployments_ListForCluster.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Deployments_ListForCluster.json
new file mode 100644
index 000000000000..98aaab7f19b7
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Deployments_ListForCluster.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "source": {
+ "type": "Source",
+ "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc",
+ "version": "1.0",
+ "artifactSelector": "sub-module-1"
+ },
+ "appName": "myapp",
+ "deploymentSettings": {
+ "cpu": 1,
+ "memoryInGB": 3,
+ "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-06-01-preview/examples/Deployments_Restart.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Deployments_Restart.json
new file mode 100644
index 000000000000..1e748023262c
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Deployments_Restart.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-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-06-01-preview/examples/Deployments_Start.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Deployments_Start.json
new file mode 100644
index 000000000000..1e748023262c
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Deployments_Start.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-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-06-01-preview/examples/Deployments_Stop.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Deployments_Stop.json
new file mode 100644
index 000000000000..1e748023262c
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Deployments_Stop.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-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-06-01-preview/examples/Deployments_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Deployments_Update.json
new file mode 100644
index 000000000000..0494ba3034de
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-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-06-01-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-06-01-preview/examples/Deployments_Update_CustomContainer.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Deployments_Update_CustomContainer.json
new file mode 100644
index 000000000000..55f438aa3506
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Deployments_Update_CustomContainer.json
@@ -0,0 +1,131 @@
+{
+ "parameters": {
+ "deploymentResource": {
+ "properties": {
+ "source": {
+ "type": "Container",
+ "customContainer": {
+ "server": "mynewacr.azurecr.io",
+ "containerImage": "myNewContainerImage:v1",
+ "command": [
+ "/bin/sh"
+ ],
+ "args": [
+ "-c",
+ "while true; do echo hello; sleep 10;done"
+ ],
+ "imageRegistryCredential": {
+ "username": "myNewUsername",
+ "password": ""
+ }
+ }
+ },
+ "instances": null
+ }
+ },
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "deploymentName": "mydeployment"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "source": {
+ "type": "Container",
+ "customContainer": {
+ "server": "mynewacr.azurecr.io",
+ "containerImage": "myNewContainerImage:v1",
+ "imageRegistryCredential": {
+ "username": "myNewUsername",
+ "password": ""
+ }
+ }
+ },
+ "appName": "myapp",
+ "deploymentSettings": {
+ "cpu": 1,
+ "memoryInGB": 3,
+ "resourceRequests": {
+ "cpu": "1000m",
+ "memory": "3Gi"
+ },
+ "environmentVariables": {
+ "env": "test"
+ }
+ },
+ "provisioningState": "Succeeded",
+ "status": "Running",
+ "active": false,
+ "instances": [
+ {
+ "name": "instance1",
+ "status": "Running",
+ "discoveryStatus": "N/A",
+ "startTime": "2020-08-26T01:55:02Z"
+ }
+ ]
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/deployments",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment",
+ "name": "mydeployment"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "source": {
+ "type": "Container",
+ "customContainer": {
+ "server": "mynewacr.azurecr.io",
+ "containerImage": "myNewContainerImage:v1",
+ "imageRegistryCredential": {
+ "username": "myNewUsername",
+ "password": ""
+ }
+ }
+ },
+ "appName": "myapp",
+ "deploymentSettings": {
+ "cpu": 1,
+ "memoryInGB": 3,
+ "resourceRequests": {
+ "cpu": "1000m",
+ "memory": "3Gi"
+ },
+ "environmentVariables": {
+ "env": "test"
+ }
+ },
+ "provisioningState": "Updating",
+ "status": "Running",
+ "active": false,
+ "instances": [
+ {
+ "name": "instance1",
+ "status": "Running",
+ "discoveryStatus": "N/A",
+ "startTime": "2020-08-26T01:55:02Z"
+ }
+ ]
+ },
+ "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-06-01-preview/examples/MonitoringSettings_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/MonitoringSettings_Get.json
new file mode 100644
index 000000000000..ebdfa2968281
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/MonitoringSettings_Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "traceEnabled": true,
+ "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000",
+ "appInsightsSamplingRate": 10.0,
+ "appInsightsAgentVersions": {
+ "java": "3.0.0"
+ }
+ },
+ "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-06-01-preview/examples/MonitoringSettings_UpdatePatch.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/MonitoringSettings_UpdatePatch.json
new file mode 100644
index 000000000000..8afb0bb5f64c
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-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-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "provisioningState": "Updating",
+ "traceEnabled": true,
+ "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000",
+ "appInsightsSamplingRate": 10.0,
+ "appInsightsAgentVersions": {
+ "java": "3.0.0"
+ }
+ },
+ "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-06-01-preview/examples/MonitoringSettings_UpdatePut.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/MonitoringSettings_UpdatePut.json
new file mode 100644
index 000000000000..8afb0bb5f64c
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-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-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "provisioningState": "Updating",
+ "traceEnabled": true,
+ "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000",
+ "appInsightsSamplingRate": 10.0,
+ "appInsightsAgentVersions": {
+ "java": "3.0.0"
+ }
+ },
+ "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-06-01-preview/examples/Operations_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Operations_List.json
new file mode 100644
index 000000000000..39a498c8ad4a
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Operations_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.AppPlatform/Spring/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Azure Distributed Managed Service for Spring",
+ "resource": "Managed Applications",
+ "operation": "Create or Update Managed Applications",
+ "description": "Create or Update Managed Applications"
+ },
+ "origin": "user,system",
+ "properties": {
+ "serviceSpecification": null
+ }
+ }
+ ],
+ "nextLink": "providers/Microsoft.AppPlatform?$skipToken={opaqueString}"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json
new file mode 100644
index 000000000000..19b6144f0f47
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "value": "Java_8",
+ "platform": "Java",
+ "version": "8"
+ },
+ {
+ "value": "Java_11",
+ "platform": "Java",
+ "version": "11"
+ },
+ {
+ "value": "NetCore_31",
+ "platform": ".NET Core",
+ "version": "3.1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_CheckNameAvailability.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_CheckNameAvailability.json
new file mode 100644
index 000000000000..ae019a3f24c8
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_CheckNameAvailability.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "location": "eastus",
+ "availabilityParameters": {
+ "type": "Microsoft.AppPlatform/Spring",
+ "name": "myservice"
+ },
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "AlreadyExists",
+ "message": "The name is already used."
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_CreateOrUpdate.json
new file mode 100644
index 000000000000..a07a2ee47c29
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-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-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "provisioningState": "Creating",
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ },
+ "requiredTraffics": [
+ {
+ "protocol": "TCP",
+ "port": 443,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "UDP",
+ "port": 1194,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "TCP",
+ "port": 9000,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ }
+ ]
+ }
+ },
+ "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-06-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json
new file mode 100644
index 000000000000..9303cc5fa93c
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-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-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "provisioningState": "Creating",
+ "networkProfile": {
+ "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime",
+ "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps",
+ "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16",
+ "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg",
+ "appNetworkResourceGroup": "my-app-network-rg",
+ "outboundIPs": {
+ "publicIPs": [
+ "40.64.67.13"
+ ]
+ },
+ "requiredTraffics": [
+ {
+ "protocol": "TCP",
+ "port": 443,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "UDP",
+ "port": 1194,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "TCP",
+ "port": 9000,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ }
+ ]
+ },
+ "serviceId": "12345678abcd1234abcd12345678abcd"
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "networkProfile": {
+ "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime",
+ "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps",
+ "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16",
+ "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg",
+ "appNetworkResourceGroup": "my-app-network-rg",
+ "outboundIPs": {
+ "publicIPs": [
+ "40.64.67.13"
+ ]
+ },
+ "requiredTraffics": [
+ {
+ "protocol": "TCP",
+ "port": 443,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "UDP",
+ "port": 1194,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "TCP",
+ "port": 9000,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ }
+ ]
+ },
+ "serviceId": "12345678abcd1234abcd12345678abcd"
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ },
+ "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-06-01-preview/examples/Services_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_Delete.json
new file mode 100644
index 000000000000..486f5c38b2cc
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_Delete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.AppPlatform/...pathToOperationResult..."
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_DisableTestEndpoint.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_DisableTestEndpoint.json
new file mode 100644
index 000000000000..fc1589aadf8a
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_DisableTestEndpoint.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_EnableTestEndpoint.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_EnableTestEndpoint.json
new file mode 100644
index 000000000000..60002b5803fd
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_EnableTestEndpoint.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "",
+ "secondaryKey": "",
+ "primaryTestEndpoint": "",
+ "secondaryTestEndpoint": "",
+ "enabled": true
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_Get.json
new file mode 100644
index 000000000000..97884ce1ffdc
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_Get.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ },
+ "requiredTraffics": [
+ {
+ "protocol": "TCP",
+ "port": 443,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "UDP",
+ "port": 1194,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "TCP",
+ "port": 9000,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ }
+ ]
+ }
+ },
+ "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-06-01-preview/examples/Services_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_List.json
new file mode 100644
index 000000000000..dbd3643a4724
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_List.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ },
+ "requiredTraffics": [
+ {
+ "protocol": "TCP",
+ "port": 443,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "UDP",
+ "port": 1194,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "TCP",
+ "port": 9000,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ }
+ ]
+ }
+ },
+ "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-06-01-preview/examples/Services_ListBySubscription.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_ListBySubscription.json
new file mode 100644
index 000000000000..26a4f5de3737
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_ListBySubscription.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ },
+ "requiredTraffics": [
+ {
+ "protocol": "TCP",
+ "port": 443,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "UDP",
+ "port": 1194,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "TCP",
+ "port": 9000,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ }
+ ]
+ }
+ },
+ "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-06-01-preview/examples/Services_ListTestKeys.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_ListTestKeys.json
new file mode 100644
index 000000000000..60002b5803fd
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_ListTestKeys.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "",
+ "secondaryKey": "",
+ "primaryTestEndpoint": "",
+ "secondaryTestEndpoint": "",
+ "enabled": true
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_RegenerateTestKey.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_RegenerateTestKey.json
new file mode 100644
index 000000000000..29133042d86a
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_RegenerateTestKey.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "regenerateTestKeyRequest": {
+ "keyType": "Primary"
+ },
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "",
+ "secondaryKey": "",
+ "primaryTestEndpoint": "",
+ "secondaryTestEndpoint": "",
+ "enabled": true
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Services_Update.json
new file mode 100644
index 000000000000..8267bef0540d
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-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-06-01-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-06-01-preview/examples/Skus_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Skus_List.json
new file mode 100644
index 000000000000..1621bdfa76cc
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Skus_List.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "Spring",
+ "name": "B0",
+ "tier": "Basic",
+ "capacity": {
+ "minimum": 1,
+ "maximum": 20,
+ "default": 1,
+ "scaleType": "Automatic"
+ },
+ "locations": [
+ "eastus"
+ ],
+ "locationInfo": [
+ {
+ "location": "eastus",
+ "zones": [],
+ "zoneDetails": []
+ }
+ ],
+ "restrictions": []
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/appplatform.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/appplatform.json
index cd6d6d773c55..d873f13edda8 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/appplatform.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/appplatform.json
@@ -3033,23 +3033,43 @@
"properties": {
"serviceRuntimeSubnetId": {
"description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Service Runtime",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"appSubnetId": {
"description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Apps",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"serviceCidr": {
"description": "Azure Spring Cloud service reserved CIDR",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"serviceRuntimeNetworkResourceGroup": {
"description": "Name of the resource group containing network resources of Azure Spring Cloud Service Runtime",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"appNetworkResourceGroup": {
"description": "Name of the resource group containing network resources of Azure Spring Cloud Apps",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"outboundIPs": {
"description": "Desired outbound IP resources for Azure Spring Cloud instance.",
@@ -3380,11 +3400,16 @@
},
"fqdn": {
"description": "Fully qualified dns Name.",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"httpsOnly": {
"description": "Indicate if only https is allowed.",
- "type": "boolean"
+ "type": "boolean",
+ "default": false
},
"createdTime": {
"format": "date-time",
@@ -3394,7 +3419,8 @@
},
"temporaryDisk": {
"$ref": "#/definitions/TemporaryDisk",
- "description": "Temporary disk settings"
+ "description": "Temporary disk settings",
+ "default": "/tmp"
},
"persistentDisk": {
"$ref": "#/definitions/PersistentDisk",
@@ -3924,6 +3950,7 @@
},
"runtimeVersion": {
"description": "Runtime version",
+ "default": "Java_8",
"enum": [
"Java_8",
"Java_11",
diff --git a/specification/appplatform/resource-manager/readme.azureresourceschema.md b/specification/appplatform/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index d2967f305b33..000000000000
--- a/specification/appplatform/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,48 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-appplatform-2020-11-01-preview
- - tag: schema-appplatform-2020-07-01
- - tag: schema-appplatform-2019-05-01-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-appplatform-2020-11-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-appplatform-2020-11-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AppPlatform/preview/2020-11-01-preview/appplatform.json
-
-```
-
-### Tag: schema-appplatform-2020-07-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-appplatform-2020-07-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AppPlatform/stable/2020-07-01/appplatform.json
-
-```
-
-### Tag: schema-appplatform-2019-05-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-appplatform-2019-05-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json
-
-```
diff --git a/specification/appplatform/resource-manager/readme.go.md b/specification/appplatform/resource-manager/readme.go.md
index 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..11dd36545e4d 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-06
```
### Suppression
@@ -44,20 +44,29 @@ directive:
- suppress: R3021
from: appplatform.json
reason: The resource type name 'Spring' is a trademark so cannot be changed to be camel-case
- #where:
+ #where:
# - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/default"]
# - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/monitoringSettings/default"]
```
+### Tag: package-preview-2021-06
+
+These settings apply only when `--tag=package-preview-2021-06` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2021-06'
+input-file:
+ - Microsoft.AppPlatform/preview/2021-06-01-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
@@ -100,14 +110,16 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_appplatform']
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js appplatform/resource-manager
```
## Go
See configuration in [readme.go.md](./readme.go.md)
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
## Java
See configuration in [readme.java.md](./readme.java.md)
@@ -126,7 +138,3 @@ csharp:
output-folder: $(csharp-sdks-folder)/appplatform/Microsoft.Azure.Management.AppPlatform/src/Generated
clear-output-folder: true
```
-
-## AzureResourceSchema
-
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.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.azureresourceschema.md b/specification/attestation/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index bd437a256b68..000000000000
--- a/specification/attestation/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,36 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-attestation-2020-10-01
- - tag: schema-attestation-2018-09-01-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-attestation-2020-10-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-attestation-2020-10-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Attestation/stable/2020-10-01/attestation.json
-
-```
-
-### Tag: schema-attestation-2018-09-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-attestation-2018-09-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Attestation/stable/2018-09-01-preview/attestation.json
-
-```
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 f2099cd924dd..3c736ccdf1dd 100644
--- a/specification/attestation/resource-manager/readme.md
+++ b/specification/attestation/resource-manager/readme.md
@@ -65,8 +65,6 @@ swagger-to-sdk:
- repo: azure-sdk-for-js
- repo: azure-sdk-for-java
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js attestation/resource-manager
```
## Python
@@ -96,7 +94,5 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.terraform.md](./readme.terraform.md)
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
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..3e0e3a787eee 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
@@ -83,6 +83,9 @@
},
{
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TenantIdQueryParameter"
}
],
"responses": {
@@ -133,6 +136,9 @@
},
{
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TenantIdQueryParameter"
}
],
"responses": {
@@ -185,6 +191,9 @@
},
{
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TenantIdQueryParameter"
}
],
"responses": {
@@ -252,13 +261,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": {
@@ -296,6 +298,9 @@
},
{
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TenantIdQueryParameter"
}
],
"responses": {
@@ -337,6 +342,9 @@
},
{
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TenantIdQueryParameter"
}
],
"responses": {
@@ -397,13 +405,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": {
@@ -434,6 +435,9 @@
},
{
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TenantIdQueryParameter"
}
],
"responses": {
@@ -477,6 +481,9 @@
},
{
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TenantIdQueryParameter"
}
],
"responses": {
@@ -529,6 +536,9 @@
},
{
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TenantIdQueryParameter"
}
],
"responses": {
@@ -558,15 +568,6 @@
}
},
"definitions": {
- "CustomErrorResponse": {
- "properties": {
- "message": {
- "type": "string",
- "description": "Description of the error."
- }
- },
- "description": "Descriptive error response."
- },
"RoleAssignmentFilter": {
"properties": {
"principalId": {
@@ -776,6 +777,14 @@
"type": "string",
"description": "The namespace of the resource provider.",
"x-ms-parameter-location": "method"
+ },
+ "TenantIdQueryParameter": {
+ "name": "tenantId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Tenant ID for cross-tenant request",
+ "x-ms-parameter-location": "method"
}
}
}
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
index 7d9930ea99db..3dba0536d271 100644
--- 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
@@ -50,6 +50,9 @@
},
{
"$ref": "#/parameters/RoleAssignmentFilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TenantIdQueryParameter"
}
],
"responses": {
@@ -96,6 +99,9 @@
},
{
"$ref": "#/parameters/RoleAssignmentFilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TenantIdQueryParameter"
}
],
"responses": {
@@ -151,6 +157,9 @@
},
{
"$ref": "#/parameters/RoleAssignmentFilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TenantIdQueryParameter"
}
],
"responses": {
@@ -194,6 +203,9 @@
},
{
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TenantIdQueryParameter"
}
],
"responses": {
@@ -249,13 +261,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": {
@@ -290,6 +295,9 @@
},
{
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TenantIdQueryParameter"
}
],
"responses": {
@@ -344,13 +352,6 @@
"$ref": "#/definitions/ValidationResponse"
}
},
- "500": {
- "x-ms-error-response": true,
- "description": "Error.",
- "schema": {
- "$ref": "#/definitions/CustomErrorResponse"
- }
- },
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
@@ -384,6 +385,9 @@
},
{
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TenantIdQueryParameter"
}
],
"responses": {
@@ -424,6 +428,9 @@
},
{
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TenantIdQueryParameter"
}
],
"responses": {
@@ -476,13 +483,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": {
@@ -508,6 +508,9 @@
},
{
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TenantIdQueryParameter"
}
],
"responses": {
@@ -559,13 +562,6 @@
"$ref": "#/definitions/ValidationResponse"
}
},
- "500": {
- "x-ms-error-response": true,
- "description": "Error.",
- "schema": {
- "$ref": "#/definitions/CustomErrorResponse"
- }
- },
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
@@ -585,15 +581,6 @@
}
},
"definitions": {
- "CustomErrorResponse": {
- "properties": {
- "message": {
- "type": "string",
- "description": "Description of the error."
- }
- },
- "description": "Descriptive error response."
- },
"ValidationResponseErrorInfo": {
"description": "Failed validation result details",
"properties": {
@@ -617,7 +604,7 @@
"type": "boolean",
"description": "Whether or not validation succeeded"
},
- "validationErrorInfo": {
+ "errorInfo": {
"description": "Failed validation result details",
"$ref": "#/definitions/ValidationResponseErrorInfo"
}
@@ -652,6 +639,7 @@
"RoleAssignmentProperties": {
"properties": {
"scope": {
+ "readOnly": true,
"type": "string",
"description": "The role assignment scope."
},
@@ -806,6 +794,14 @@
},
"description": "Parameters for the role assignment.",
"x-ms-parameter-location": "method"
+ },
+ "TenantIdQueryParameter": {
+ "name": "tenantId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Tenant ID for cross-tenant request",
+ "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
index 14c86b512f5d..db70d29fde30 100644
--- 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
@@ -36,11 +36,6 @@
"type": "Microsoft.Authorization/roleAssignments",
"name": "b0f43c54-e787-4862-89b1-a653fa9cf747"
}
- },
- "500": {
- "body": {
- "message": "Something went wrong."
- }
}
}
}
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
index 3b3da95c7a67..c14a6a74ad1a 100644
--- 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
@@ -37,11 +37,6 @@
"type": "Microsoft.Authorization/roleAssignments",
"name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
}
- },
- "500": {
- "body": {
- "message": "Something went wrong."
- }
}
}
}
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
index 098d4bf9c675..1c73b97300de 100644
--- 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
@@ -37,11 +37,6 @@
"type": "Microsoft.Authorization/roleAssignments",
"name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
}
- },
- "500": {
- "body": {
- "message": "Something went wrong."
- }
}
}
}
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
index 45948d92d258..92e2f9ea5c3d 100644
--- 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
@@ -37,11 +37,6 @@
"type": "Microsoft.Authorization/roleAssignments",
"name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
}
- },
- "500": {
- "body": {
- "message": "Something went wrong."
- }
}
}
}
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
index cd0596c2b1fc..ad6912ac1313 100644
--- 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
@@ -14,16 +14,11 @@
"200": {
"body": {
"isValid": false,
- "validationErrorInfo": {
+ "errorInfo": {
"code": "InvalidRoleDefinitionId",
"message": "The specified role definition with ID '0b5fe924-9a61-425c-96af-cfe6e287ca2d' does not exist."
}
}
- },
- "500": {
- "body": {
- "message": "Something went wrong."
- }
}
}
}
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
index 3c873017560a..b76e5990c2c3 100644
--- 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
@@ -15,11 +15,6 @@
"body": {
"isValid": true
}
- },
- "500": {
- "body": {
- "message": "Something went wrong."
- }
}
}
}
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
index e068332f2dcf..3479106a8dae 100644
--- 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
@@ -15,16 +15,11 @@
"200": {
"body": {
"isValid": false,
- "validationErrorInfo": {
+ "errorInfo": {
"code": "InvalidRoleDefinitionId",
"message": "The specified role definition with ID '0b5fe924-9a61-425c-96af-cfe6e287ca2d' does not exist."
}
}
- },
- "500": {
- "body": {
- "message": "Something went wrong."
- }
}
}
}
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
index f2e66e0b9774..5893676e1f15 100644
--- 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
@@ -16,11 +16,6 @@
"body": {
"isValid": true
}
- },
- "500": {
- "body": {
- "message": "Something went wrong."
- }
}
}
}
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 3cd013219637..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",
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 02e12ca0b41c..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",
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 27fe95288b0b..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
@@ -279,7 +279,15 @@
"enum": [
"User",
"Group",
- "ServicePrincipal"
+ "ServicePrincipal",
+ "Unknown",
+ "DirectoryRoleTemplate",
+ "ForeignGroup",
+ "Application",
+ "MSI",
+ "DirectoryObjectOrGroup",
+ "Everyone",
+ "Device"
],
"x-ms-enum": {
"name": "PrincipalType",
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 af5c1a7f6e99..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",
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 55a772e0f5e2..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",
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 9a4a45238118..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
@@ -279,7 +279,15 @@
"enum": [
"User",
"Group",
- "ServicePrincipal"
+ "ServicePrincipal",
+ "Unknown",
+ "DirectoryRoleTemplate",
+ "ForeignGroup",
+ "Application",
+ "MSI",
+ "DirectoryObjectOrGroup",
+ "Everyone",
+ "Device"
],
"x-ms-enum": {
"name": "PrincipalType",
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 2e59a4aa226f..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
@@ -558,9 +558,9 @@
"type": "string",
"description": "The notification level.",
"enum": [
- "NONE",
- "CRITICAL",
- "ALL"
+ "None",
+ "Critical",
+ "All"
],
"x-ms-enum": {
"name": "NotificationLevel",
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..04835777fcf4
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/authorization-RoleAssignmentsCalls.json
@@ -0,0 +1,808 @@
+{
+ "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"
+ },
+ {
+ "$ref": "#/parameters/TenantIdQueryParameter"
+ }
+ ],
+ "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"
+ },
+ {
+ "$ref": "#/parameters/TenantIdQueryParameter"
+ }
+ ],
+ "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"
+ },
+ {
+ "$ref": "#/parameters/TenantIdQueryParameter"
+ }
+ ],
+ "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"
+ },
+ {
+ "$ref": "#/parameters/TenantIdQueryParameter"
+ }
+ ],
+ "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"
+ },
+ {
+ "$ref": "#/parameters/TenantIdQueryParameter"
+ }
+ ],
+ "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"
+ },
+ {
+ "$ref": "#/parameters/TenantIdQueryParameter"
+ }
+ ],
+ "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"
+ },
+ {
+ "$ref": "#/parameters/TenantIdQueryParameter"
+ }
+ ],
+ "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"
+ },
+ {
+ "$ref": "#/parameters/TenantIdQueryParameter"
+ }
+ ],
+ "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"
+ },
+ "TenantIdQueryParameter": {
+ "name": "tenantId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Tenant ID for cross-tenant request",
+ "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/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/GetRoleAssignmentScheduleRequestByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleRequestByName.json
index 5a42f7c91c0b..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
@@ -22,7 +22,7 @@
"expiration": {
"type": "AfterDuration",
"endDateTime": null,
- "duration": "08:00:00"
+ "duration": "PT8H"
}
},
"ticketInfo": {
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 d2bf887f553e..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
@@ -23,7 +23,7 @@
"expiration": {
"type": "AfterDuration",
"endDateTime": null,
- "duration": "08:00:00"
+ "duration": "PT8H"
}
},
"ticketInfo": {
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 ba545cb998d6..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
@@ -22,7 +22,7 @@
"expiration": {
"type": "AfterDuration",
"endDateTime": null,
- "duration": "365.00:00:00"
+ "duration": "P365D"
}
},
"ticketInfo": {
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 9c150f1442c5..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
@@ -24,7 +24,7 @@
"expiration": {
"type": "AfterDuration",
"endDateTime": null,
- "duration": "365.00:00:00"
+ "duration": "P365D"
}
},
"ticketInfo": {
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 a90275e3d77d..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
@@ -10,7 +10,7 @@
"properties": {
"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",
+ "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",
@@ -23,7 +23,7 @@
"type": "BuiltInRole"
},
"policy": {
- "id": "b959d571-f0b5-4042-88a7-01be6cb22db9",
+ "id": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleManagementPolicies/b959d571-f0b5-4042-88a7-01be6cb22db9",
"lastModifiedBy": {
"id": null,
"displayName": "Admin",
@@ -35,7 +35,7 @@
}
},
"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",
+ "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 9b8afdc2a135..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
@@ -11,7 +11,7 @@
"properties": {
"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",
+ "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",
@@ -24,7 +24,7 @@
"type": "BuiltInRole"
},
"policy": {
- "id": "b959d571-f0b5-4042-88a7-01be6cb22db9",
+ "id": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleManagementPolicies/b959d571-f0b5-4042-88a7-01be6cb22db9",
"lastModifiedBy": {
"id": null,
"displayName": "Admin",
@@ -36,7 +36,7 @@
}
},
"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",
+ "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 17412968b8db..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
@@ -22,12 +22,12 @@
"rules": [
{
"enabledRules": [],
- "id": "Enablement_Admin_Eligible",
+ "id": "Enablement_Admin_Eligibility",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -38,12 +38,12 @@
{
"isExpirationRequired": true,
"maximumDuration": "P90D",
- "id": "Expiration_Admin_Eligible",
+ "id": "Expiration_Admin_Eligibility",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -55,16 +55,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_admin_eligible@test.com"
],
- "id": "Notification_Admin_Admin_Eligible",
+ "id": "Notification_Admin_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -76,16 +76,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_admin_eligible@test.com"
],
- "id": "Notification_Requestor_Admin_Eligible",
+ "id": "Notification_Requestor_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -97,16 +97,16 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"approver_admin_eligible@test.com"
],
- "id": "Notification_Approver_Admin_Eligible",
+ "id": "Notification_Approver_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -119,12 +119,12 @@
"MultiFactorAuthentication",
"Justification"
],
- "id": "Enablement_Admin_Member",
+ "id": "Enablement_Admin_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -135,12 +135,12 @@
{
"isExpirationRequired": false,
"maximumDuration": "P90D",
- "id": "Expiration_Admin_Member",
+ "id": "Expiration_Admin_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -152,16 +152,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_admin_member@test.com"
],
- "id": "Notification_Admin_Admin_Member",
+ "id": "Notification_Admin_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -173,16 +173,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_admin_member@test.com"
],
- "id": "Notification_Requestor_Admin_Member",
+ "id": "Notification_Requestor_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -194,16 +194,16 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"approver_admin_member@test.com"
],
- "id": "Notification_Approver_Admin_Member",
+ "id": "Notification_Approver_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -241,12 +241,12 @@
}
]
},
- "id": "Approval_EndUser_Member",
+ "id": "Approval_EndUser_Assignment",
"ruleType": "RoleManagementPolicyApprovalRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -257,12 +257,12 @@
{
"isEnabled": false,
"claimValue": "",
- "id": "AuthenticationContext_EndUser_Member",
+ "id": "AuthenticationContext_EndUser_Assignment",
"ruleType": "RoleManagementPolicyAuthenticationContextRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -276,12 +276,12 @@
"Justification",
"Ticketing"
],
- "id": "Enablement_EndUser_Member",
+ "id": "Enablement_EndUser_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -292,12 +292,12 @@
{
"isExpirationRequired": true,
"maximumDuration": "PT7H",
- "id": "Expiration_EndUser_Member",
+ "id": "Expiration_EndUser_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -309,16 +309,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_enduser_member@test.com"
],
- "id": "Notification_Admin_EndUser_Member",
+ "id": "Notification_Admin_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -330,16 +330,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_enduser_member@test.com"
],
- "id": "Notification_Requestor_EndUser_Member",
+ "id": "Notification_Requestor_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -351,14 +351,14 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": true,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": null,
- "id": "Notification_Approver_EndUser_Member",
+ "id": "Notification_Approver_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -370,12 +370,12 @@
"effectiveRules": [
{
"enabledRules": [],
- "id": "Enablement_Admin_Eligible",
+ "id": "Enablement_Admin_Eligibility",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -386,12 +386,12 @@
{
"isExpirationRequired": true,
"maximumDuration": "P90D",
- "id": "Expiration_Admin_Eligible",
+ "id": "Expiration_Admin_Eligibility",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -403,16 +403,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_admin_eligible@test.com"
],
- "id": "Notification_Admin_Admin_Eligible",
+ "id": "Notification_Admin_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -424,16 +424,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_admin_eligible@test.com"
],
- "id": "Notification_Requestor_Admin_Eligible",
+ "id": "Notification_Requestor_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -445,16 +445,16 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"approver_admin_eligible@test.com"
],
- "id": "Notification_Approver_Admin_Eligible",
+ "id": "Notification_Approver_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -467,12 +467,12 @@
"MultiFactorAuthentication",
"Justification"
],
- "id": "Enablement_Admin_Member",
+ "id": "Enablement_Admin_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -483,12 +483,12 @@
{
"isExpirationRequired": false,
"maximumDuration": "P90D",
- "id": "Expiration_Admin_Member",
+ "id": "Expiration_Admin_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -500,16 +500,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_admin_member@test.com"
],
- "id": "Notification_Admin_Admin_Member",
+ "id": "Notification_Admin_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -521,16 +521,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_admin_member@test.com"
],
- "id": "Notification_Requestor_Admin_Member",
+ "id": "Notification_Requestor_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -542,16 +542,16 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"approver_admin_member@test.com"
],
- "id": "Notification_Approver_Admin_Member",
+ "id": "Notification_Approver_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -589,12 +589,12 @@
}
]
},
- "id": "Approval_EndUser_Member",
+ "id": "Approval_EndUser_Assignment",
"ruleType": "RoleManagementPolicyApprovalRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -605,12 +605,12 @@
{
"isEnabled": false,
"claimValue": "",
- "id": "AuthenticationContext_EndUser_Member",
+ "id": "AuthenticationContext_EndUser_Assignment",
"ruleType": "RoleManagementPolicyAuthenticationContextRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -624,12 +624,12 @@
"Justification",
"Ticketing"
],
- "id": "Enablement_EndUser_Member",
+ "id": "Enablement_EndUser_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -640,12 +640,12 @@
{
"isExpirationRequired": true,
"maximumDuration": "PT7H",
- "id": "Expiration_EndUser_Member",
+ "id": "Expiration_EndUser_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -657,16 +657,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_enduser_member@test.com"
],
- "id": "Notification_Admin_EndUser_Member",
+ "id": "Notification_Admin_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -678,16 +678,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_enduser_member@test.com"
],
- "id": "Notification_Requestor_EndUser_Member",
+ "id": "Notification_Requestor_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -699,14 +699,14 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": true,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": null,
- "id": "Notification_Approver_EndUser_Member",
+ "id": "Notification_Approver_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -724,7 +724,7 @@
}
},
"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",
+ "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 4d146e6dfff5..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
@@ -23,12 +23,12 @@
"rules": [
{
"enabledRules": [],
- "id": "Enablement_Admin_Eligible",
+ "id": "Enablement_Admin_Eligibility",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -39,12 +39,12 @@
{
"isExpirationRequired": true,
"maximumDuration": "P90D",
- "id": "Expiration_Admin_Eligible",
+ "id": "Expiration_Admin_Eligibility",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -56,16 +56,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_admin_eligible@test.com"
],
- "id": "Notification_Admin_Admin_Eligible",
+ "id": "Notification_Admin_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -77,16 +77,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_admin_eligible@test.com"
],
- "id": "Notification_Requestor_Admin_Eligible",
+ "id": "Notification_Requestor_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -98,16 +98,16 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"approver_admin_eligible@test.com"
],
- "id": "Notification_Approver_Admin_Eligible",
+ "id": "Notification_Approver_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -120,12 +120,12 @@
"MultiFactorAuthentication",
"Justification"
],
- "id": "Enablement_Admin_Member",
+ "id": "Enablement_Admin_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -136,12 +136,12 @@
{
"isExpirationRequired": false,
"maximumDuration": "P90D",
- "id": "Expiration_Admin_Member",
+ "id": "Expiration_Admin_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -153,16 +153,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_admin_member@test.com"
],
- "id": "Notification_Admin_Admin_Member",
+ "id": "Notification_Admin_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -174,16 +174,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_admin_member@test.com"
],
- "id": "Notification_Requestor_Admin_Member",
+ "id": "Notification_Requestor_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -195,16 +195,16 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"approver_admin_member@test.com"
],
- "id": "Notification_Approver_Admin_Member",
+ "id": "Notification_Approver_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -242,12 +242,12 @@
}
]
},
- "id": "Approval_EndUser_Member",
+ "id": "Approval_EndUser_Assignment",
"ruleType": "RoleManagementPolicyApprovalRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -258,12 +258,12 @@
{
"isEnabled": false,
"claimValue": "",
- "id": "AuthenticationContext_EndUser_Member",
+ "id": "AuthenticationContext_EndUser_Assignment",
"ruleType": "RoleManagementPolicyAuthenticationContextRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -277,12 +277,12 @@
"Justification",
"Ticketing"
],
- "id": "Enablement_EndUser_Member",
+ "id": "Enablement_EndUser_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -293,12 +293,12 @@
{
"isExpirationRequired": true,
"maximumDuration": "PT7H",
- "id": "Expiration_EndUser_Member",
+ "id": "Expiration_EndUser_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -310,16 +310,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_enduser_member@test.com"
],
- "id": "Notification_Admin_EndUser_Member",
+ "id": "Notification_Admin_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -331,16 +331,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_enduser_member@test.com"
],
- "id": "Notification_Requestor_EndUser_Member",
+ "id": "Notification_Requestor_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -352,14 +352,14 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": true,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": null,
- "id": "Notification_Approver_EndUser_Member",
+ "id": "Notification_Approver_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -371,12 +371,12 @@
"effectiveRules": [
{
"enabledRules": [],
- "id": "Enablement_Admin_Eligible",
+ "id": "Enablement_Admin_Eligibility",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -387,12 +387,12 @@
{
"isExpirationRequired": true,
"maximumDuration": "P90D",
- "id": "Expiration_Admin_Eligible",
+ "id": "Expiration_Admin_Eligibility",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -404,16 +404,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_admin_eligible@test.com"
],
- "id": "Notification_Admin_Admin_Eligible",
+ "id": "Notification_Admin_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -425,16 +425,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_admin_eligible@test.com"
],
- "id": "Notification_Requestor_Admin_Eligible",
+ "id": "Notification_Requestor_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -446,16 +446,16 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"approver_admin_eligible@test.com"
],
- "id": "Notification_Approver_Admin_Eligible",
+ "id": "Notification_Approver_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -468,12 +468,12 @@
"MultiFactorAuthentication",
"Justification"
],
- "id": "Enablement_Admin_Member",
+ "id": "Enablement_Admin_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -484,12 +484,12 @@
{
"isExpirationRequired": false,
"maximumDuration": "P90D",
- "id": "Expiration_Admin_Member",
+ "id": "Expiration_Admin_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -501,16 +501,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_admin_member@test.com"
],
- "id": "Notification_Admin_Admin_Member",
+ "id": "Notification_Admin_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -522,16 +522,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_admin_member@test.com"
],
- "id": "Notification_Requestor_Admin_Member",
+ "id": "Notification_Requestor_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -543,16 +543,16 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"approver_admin_member@test.com"
],
- "id": "Notification_Approver_Admin_Member",
+ "id": "Notification_Approver_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -590,12 +590,12 @@
}
]
},
- "id": "Approval_EndUser_Member",
+ "id": "Approval_EndUser_Assignment",
"ruleType": "RoleManagementPolicyApprovalRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -606,12 +606,12 @@
{
"isEnabled": false,
"claimValue": "",
- "id": "AuthenticationContext_EndUser_Member",
+ "id": "AuthenticationContext_EndUser_Assignment",
"ruleType": "RoleManagementPolicyAuthenticationContextRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -625,12 +625,12 @@
"Justification",
"Ticketing"
],
- "id": "Enablement_EndUser_Member",
+ "id": "Enablement_EndUser_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -641,12 +641,12 @@
{
"isExpirationRequired": true,
"maximumDuration": "PT7H",
- "id": "Expiration_EndUser_Member",
+ "id": "Expiration_EndUser_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -658,16 +658,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_enduser_member@test.com"
],
- "id": "Notification_Admin_EndUser_Member",
+ "id": "Notification_Admin_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -679,16 +679,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_enduser_member@test.com"
],
- "id": "Notification_Requestor_EndUser_Member",
+ "id": "Notification_Requestor_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -700,14 +700,14 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": true,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": null,
- "id": "Notification_Approver_EndUser_Member",
+ "id": "Notification_Approver_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -725,7 +725,7 @@
}
},
"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",
+ "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
index 303110a5f1b1..6b8c3ce11adc 100644
--- 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
@@ -9,12 +9,12 @@
{
"isExpirationRequired": false,
"maximumDuration": "P180D",
- "id": "Expiration_Admin_Eligible",
+ "id": "Expiration_Admin_Eligibility",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -26,16 +26,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_admin_eligible@test.com"
],
- "id": "Notification_Admin_Admin_Eligible",
+ "id": "Notification_Admin_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -66,12 +66,12 @@
{
"isExpirationRequired": false,
"maximumDuration": "P180D",
- "id": "Expiration_Admin_Eligible",
+ "id": "Expiration_Admin_Eligibility",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -83,16 +83,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_admin_eligible@test.com"
],
- "id": "Notification_Admin_Admin_Eligible",
+ "id": "Notification_Admin_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -104,16 +104,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_admin_eligible@test.com"
],
- "id": "Notification_Requestor_Admin_Eligible",
+ "id": "Notification_Requestor_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -125,16 +125,16 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"approver_admin_eligible@test.com"
],
- "id": "Notification_Approver_Admin_Eligible",
+ "id": "Notification_Approver_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -144,12 +144,12 @@
},
{
"enabledRules": [],
- "id": "Enablement_Admin_Eligible",
+ "id": "Enablement_Admin_Eligibility",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -160,12 +160,12 @@
{
"isExpirationRequired": false,
"maximumDuration": "P90D",
- "id": "Expiration_Admin_Member",
+ "id": "Expiration_Admin_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -178,12 +178,12 @@
"Justification",
"MultiFactorAuthentication"
],
- "id": "Enablement_Admin_Member",
+ "id": "Enablement_Admin_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -195,16 +195,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_admin_member@test.com"
],
- "id": "Notification_Admin_Admin_Member",
+ "id": "Notification_Admin_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -216,16 +216,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_admin_member@test.com"
],
- "id": "Notification_Requestor_Admin_Member",
+ "id": "Notification_Requestor_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -237,16 +237,16 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"approver_admin_member@test.com"
],
- "id": "Notification_Approver_Admin_Member",
+ "id": "Notification_Approver_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -257,12 +257,12 @@
{
"isExpirationRequired": true,
"maximumDuration": "PT7H",
- "id": "Expiration_EndUser_Member",
+ "id": "Expiration_EndUser_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -276,12 +276,12 @@
"MultiFactorAuthentication",
"Ticketing"
],
- "id": "Enablement_EndUser_Member",
+ "id": "Enablement_EndUser_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -319,12 +319,12 @@
}
]
},
- "id": "Approval_EndUser_Member",
+ "id": "Approval_EndUser_Assignment",
"ruleType": "RoleManagementPolicyApprovalRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -335,12 +335,12 @@
{
"isEnabled": false,
"claimValue": "",
- "id": "AuthenticationContext_EndUser_Member",
+ "id": "AuthenticationContext_EndUser_Assignment",
"ruleType": "RoleManagementPolicyAuthenticationContextRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -352,16 +352,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_enduser_member@test.com"
],
- "id": "Notification_Admin_EndUser_Member",
+ "id": "Notification_Admin_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -373,16 +373,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_enduser_member@test.com"
],
- "id": "Notification_Requestor_EndUser_Member",
+ "id": "Notification_Requestor_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -394,14 +394,14 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": true,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": null,
- "id": "Notification_Approver_EndUser_Member",
+ "id": "Notification_Approver_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -414,12 +414,12 @@
{
"isExpirationRequired": false,
"maximumDuration": "P180D",
- "id": "Expiration_Admin_Eligible",
+ "id": "Expiration_Admin_Eligibility",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -431,16 +431,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_admin_eligible@test.com"
],
- "id": "Notification_Admin_Admin_Eligible",
+ "id": "Notification_Admin_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -452,16 +452,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_admin_eligible@test.com"
],
- "id": "Notification_Requestor_Admin_Eligible",
+ "id": "Notification_Requestor_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -473,16 +473,16 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"approver_admin_eligible@test.com"
],
- "id": "Notification_Approver_Admin_Eligible",
+ "id": "Notification_Approver_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -492,12 +492,12 @@
},
{
"enabledRules": [],
- "id": "Enablement_Admin_Eligible",
+ "id": "Enablement_Admin_Eligibility",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -508,12 +508,12 @@
{
"isExpirationRequired": false,
"maximumDuration": "P90D",
- "id": "Expiration_Admin_Member",
+ "id": "Expiration_Admin_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -526,12 +526,12 @@
"Justification",
"MultiFactorAuthentication"
],
- "id": "Enablement_Admin_Member",
+ "id": "Enablement_Admin_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -543,16 +543,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_admin_member@test.com"
],
- "id": "Notification_Admin_Admin_Member",
+ "id": "Notification_Admin_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -564,16 +564,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_admin_member@test.com"
],
- "id": "Notification_Requestor_Admin_Member",
+ "id": "Notification_Requestor_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -585,16 +585,16 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"approver_admin_member@test.com"
],
- "id": "Notification_Approver_Admin_Member",
+ "id": "Notification_Approver_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -605,12 +605,12 @@
{
"isExpirationRequired": true,
"maximumDuration": "PT7H",
- "id": "Expiration_EndUser_Member",
+ "id": "Expiration_EndUser_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -624,12 +624,12 @@
"MultiFactorAuthentication",
"Ticketing"
],
- "id": "Enablement_EndUser_Member",
+ "id": "Enablement_EndUser_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -667,12 +667,12 @@
}
]
},
- "id": "Approval_EndUser_Member",
+ "id": "Approval_EndUser_Assignment",
"ruleType": "RoleManagementPolicyApprovalRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -683,12 +683,12 @@
{
"isEnabled": false,
"claimValue": "",
- "id": "AuthenticationContext_EndUser_Member",
+ "id": "AuthenticationContext_EndUser_Assignment",
"ruleType": "RoleManagementPolicyAuthenticationContextRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -700,16 +700,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_enduser_member@test.com"
],
- "id": "Notification_Admin_EndUser_Member",
+ "id": "Notification_Admin_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -721,16 +721,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_enduser_member@test.com"
],
- "id": "Notification_Requestor_EndUser_Member",
+ "id": "Notification_Requestor_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -742,14 +742,14 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": true,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": null,
- "id": "Notification_Approver_EndUser_Member",
+ "id": "Notification_Approver_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -767,7 +767,7 @@
}
},
"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",
+ "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
index a21a7cec9529..fa90678e6b8f 100644
--- 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
@@ -9,12 +9,12 @@
{
"isExpirationRequired": false,
"maximumDuration": "P180D",
- "id": "Expiration_Admin_Eligible",
+ "id": "Expiration_Admin_Eligibility",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -26,16 +26,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_admin_eligible@test.com"
],
- "id": "Notification_Admin_Admin_Eligible",
+ "id": "Notification_Admin_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -47,16 +47,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_admin_eligible@test.com"
],
- "id": "Notification_Requestor_Admin_Eligible",
+ "id": "Notification_Requestor_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -68,16 +68,16 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"approver_admin_eligible@test.com"
],
- "id": "Notification_Approver_Admin_Eligible",
+ "id": "Notification_Approver_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -87,12 +87,12 @@
},
{
"enabledRules": [],
- "id": "Enablement_Admin_Eligible",
+ "id": "Enablement_Admin_Eligibility",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -103,12 +103,12 @@
{
"isExpirationRequired": false,
"maximumDuration": "P90D",
- "id": "Expiration_Admin_Member",
+ "id": "Expiration_Admin_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -121,12 +121,12 @@
"Justification",
"MultiFactorAuthentication"
],
- "id": "Enablement_Admin_Member",
+ "id": "Enablement_Admin_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -138,16 +138,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_admin_member@test.com"
],
- "id": "Notification_Admin_Admin_Member",
+ "id": "Notification_Admin_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -159,16 +159,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_admin_member@test.com"
],
- "id": "Notification_Requestor_Admin_Member",
+ "id": "Notification_Requestor_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -180,16 +180,16 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"approver_admin_member@test.com"
],
- "id": "Notification_Approver_Admin_Member",
+ "id": "Notification_Approver_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -200,12 +200,12 @@
{
"isExpirationRequired": true,
"maximumDuration": "PT7H",
- "id": "Expiration_EndUser_Member",
+ "id": "Expiration_EndUser_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -219,12 +219,12 @@
"MultiFactorAuthentication",
"Ticketing"
],
- "id": "Enablement_EndUser_Member",
+ "id": "Enablement_EndUser_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -262,12 +262,12 @@
}
]
},
- "id": "Approval_EndUser_Member",
+ "id": "Approval_EndUser_Assignment",
"ruleType": "RoleManagementPolicyApprovalRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -278,12 +278,12 @@
{
"isEnabled": false,
"claimValue": "",
- "id": "AuthenticationContext_EndUser_Member",
+ "id": "AuthenticationContext_EndUser_Assignment",
"ruleType": "RoleManagementPolicyAuthenticationContextRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -295,16 +295,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_enduser_member@test.com"
],
- "id": "Notification_Admin_EndUser_Member",
+ "id": "Notification_Admin_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -316,16 +316,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_enduser_member@test.com"
],
- "id": "Notification_Requestor_EndUser_Member",
+ "id": "Notification_Requestor_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -337,14 +337,14 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": true,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": null,
- "id": "Notification_Approver_EndUser_Member",
+ "id": "Notification_Approver_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -375,12 +375,12 @@
{
"isExpirationRequired": false,
"maximumDuration": "P180D",
- "id": "Expiration_Admin_Eligible",
+ "id": "Expiration_Admin_Eligibility",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -392,16 +392,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_admin_eligible@test.com"
],
- "id": "Notification_Admin_Admin_Eligible",
+ "id": "Notification_Admin_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -413,16 +413,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_admin_eligible@test.com"
],
- "id": "Notification_Requestor_Admin_Eligible",
+ "id": "Notification_Requestor_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -434,16 +434,16 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"approver_admin_eligible@test.com"
],
- "id": "Notification_Approver_Admin_Eligible",
+ "id": "Notification_Approver_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -453,12 +453,12 @@
},
{
"enabledRules": [],
- "id": "Enablement_Admin_Eligible",
+ "id": "Enablement_Admin_Eligibility",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -469,12 +469,12 @@
{
"isExpirationRequired": false,
"maximumDuration": "P90D",
- "id": "Expiration_Admin_Member",
+ "id": "Expiration_Admin_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -487,12 +487,12 @@
"Justification",
"MultiFactorAuthentication"
],
- "id": "Enablement_Admin_Member",
+ "id": "Enablement_Admin_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -504,16 +504,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_admin_member@test.com"
],
- "id": "Notification_Admin_Admin_Member",
+ "id": "Notification_Admin_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -525,16 +525,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_admin_member@test.com"
],
- "id": "Notification_Requestor_Admin_Member",
+ "id": "Notification_Requestor_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -546,16 +546,16 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"approver_admin_member@test.com"
],
- "id": "Notification_Approver_Admin_Member",
+ "id": "Notification_Approver_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -566,12 +566,12 @@
{
"isExpirationRequired": true,
"maximumDuration": "PT7H",
- "id": "Expiration_EndUser_Member",
+ "id": "Expiration_EndUser_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -585,12 +585,12 @@
"MultiFactorAuthentication",
"Ticketing"
],
- "id": "Enablement_EndUser_Member",
+ "id": "Enablement_EndUser_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -628,12 +628,12 @@
}
]
},
- "id": "Approval_EndUser_Member",
+ "id": "Approval_EndUser_Assignment",
"ruleType": "RoleManagementPolicyApprovalRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -644,12 +644,12 @@
{
"isEnabled": false,
"claimValue": "",
- "id": "AuthenticationContext_EndUser_Member",
+ "id": "AuthenticationContext_EndUser_Assignment",
"ruleType": "RoleManagementPolicyAuthenticationContextRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -661,16 +661,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_enduser_member@test.com"
],
- "id": "Notification_Admin_EndUser_Member",
+ "id": "Notification_Admin_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -682,16 +682,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_enduser_member@test.com"
],
- "id": "Notification_Requestor_EndUser_Member",
+ "id": "Notification_Requestor_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -703,14 +703,14 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": true,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": null,
- "id": "Notification_Approver_EndUser_Member",
+ "id": "Notification_Approver_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -723,12 +723,12 @@
{
"isExpirationRequired": false,
"maximumDuration": "P180D",
- "id": "Expiration_Admin_Eligible",
+ "id": "Expiration_Admin_Eligibility",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -740,16 +740,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_admin_eligible@test.com"
],
- "id": "Notification_Admin_Admin_Eligible",
+ "id": "Notification_Admin_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -761,16 +761,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_admin_eligible@test.com"
],
- "id": "Notification_Requestor_Admin_Eligible",
+ "id": "Notification_Requestor_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -782,16 +782,16 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"approver_admin_eligible@test.com"
],
- "id": "Notification_Approver_Admin_Eligible",
+ "id": "Notification_Approver_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -801,12 +801,12 @@
},
{
"enabledRules": [],
- "id": "Enablement_Admin_Eligible",
+ "id": "Enablement_Admin_Eligibility",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -817,12 +817,12 @@
{
"isExpirationRequired": false,
"maximumDuration": "P90D",
- "id": "Expiration_Admin_Member",
+ "id": "Expiration_Admin_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -835,12 +835,12 @@
"Justification",
"MultiFactorAuthentication"
],
- "id": "Enablement_Admin_Member",
+ "id": "Enablement_Admin_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -852,16 +852,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_admin_member@test.com"
],
- "id": "Notification_Admin_Admin_Member",
+ "id": "Notification_Admin_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -873,16 +873,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_admin_member@test.com"
],
- "id": "Notification_Requestor_Admin_Member",
+ "id": "Notification_Requestor_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -894,16 +894,16 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"approver_admin_member@test.com"
],
- "id": "Notification_Approver_Admin_Member",
+ "id": "Notification_Approver_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -914,12 +914,12 @@
{
"isExpirationRequired": true,
"maximumDuration": "PT7H",
- "id": "Expiration_EndUser_Member",
+ "id": "Expiration_EndUser_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -933,12 +933,12 @@
"MultiFactorAuthentication",
"Ticketing"
],
- "id": "Enablement_EndUser_Member",
+ "id": "Enablement_EndUser_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -976,12 +976,12 @@
}
]
},
- "id": "Approval_EndUser_Member",
+ "id": "Approval_EndUser_Assignment",
"ruleType": "RoleManagementPolicyApprovalRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -992,12 +992,12 @@
{
"isEnabled": false,
"claimValue": "",
- "id": "AuthenticationContext_EndUser_Member",
+ "id": "AuthenticationContext_EndUser_Assignment",
"ruleType": "RoleManagementPolicyAuthenticationContextRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -1009,16 +1009,16 @@
"notificationType": "Email",
"recipientType": "Admin",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"admin_enduser_member@test.com"
],
- "id": "Notification_Admin_EndUser_Member",
+ "id": "Notification_Admin_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -1030,16 +1030,16 @@
"notificationType": "Email",
"recipientType": "Requestor",
"isDefaultRecipientsEnabled": false,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": [
"requestor_enduser_member@test.com"
],
- "id": "Notification_Requestor_EndUser_Member",
+ "id": "Notification_Requestor_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -1051,14 +1051,14 @@
"notificationType": "Email",
"recipientType": "Approver",
"isDefaultRecipientsEnabled": true,
- "notificationLevel": "CRITICAL",
+ "notificationLevel": "Critical",
"notificationRecipients": null,
- "id": "Notification_Approver_EndUser_Member",
+ "id": "Notification_Approver_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -1076,7 +1076,7 @@
}
},
"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",
+ "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 68331340cf0a..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
@@ -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'",
@@ -40,7 +40,7 @@
"expiration": {
"type": "AfterDuration",
"endDateTime": null,
- "duration": "08:00:00"
+ "duration": "PT8H"
}
},
"ticketInfo": {
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 062fcd509928..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
@@ -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'",
@@ -39,7 +39,7 @@
"expiration": {
"type": "AfterDuration",
"endDateTime": null,
- "duration": "365.00:00:00"
+ "duration": "P365D"
}
},
"ticketInfo": {
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 4fc4bcad414e..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
@@ -7,7 +7,7 @@
"properties": {
"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"
+ "policyId": "/providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleManagementPolicies/b959d571-f0b5-4042-88a7-01be6cb22db9"
}
}
},
@@ -17,7 +17,7 @@
"properties": {
"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",
+ "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",
@@ -30,14 +30,14 @@
"type": "BuiltInRole"
},
"policy": {
- "id": "b959d571-f0b5-4042-88a7-01be6cb22db9",
+ "id": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleManagementPolicies/b959d571-f0b5-4042-88a7-01be6cb22db9",
"lastModifiedBy": null,
"lastModifiedDateTime": null
}
}
},
"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",
+ "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/Microsoft.Authorization/preview/2021-03-01-preview/authorization-AccessReviewCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/authorization-AccessReviewCalls.json
index 49df2a165880..15e3c1facb30 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/authorization-AccessReviewCalls.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/authorization-AccessReviewCalls.json
@@ -81,6 +81,9 @@
},
{
"$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/AccessReviewsFilterParameter"
}
],
"responses": {
@@ -301,6 +304,9 @@
},
{
"$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/AccessReviewsFilterParameter"
}
],
"responses": {
@@ -592,6 +598,9 @@
},
{
"$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/AccessReviewsFilterParameter"
}
],
"responses": {
@@ -707,6 +716,9 @@
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/AccessReviewsFilterParameter"
}
],
"responses": {
@@ -750,6 +762,9 @@
},
{
"$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/AccessReviewsFilterParameter"
}
],
"responses": {
@@ -891,6 +906,9 @@
},
{
"$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/AccessReviewsFilterParameter"
}
],
"responses": {
@@ -1386,6 +1404,24 @@
"name": "AccessReviewScopePrincipalType",
"modelAsString": true
}
+ },
+ "assignmentState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The role assignment state eligible/active to review",
+ "enum": [
+ "eligible",
+ "active"
+ ],
+ "x-ms-enum": {
+ "name": "AccessReviewScopeAssignmentState",
+ "modelAsString": true
+ }
+ },
+ "inactiveDuration": {
+ "type": "string",
+ "format": "duration",
+ "description": "Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds))"
}
},
"description": "Descriptor for what needs to be reviewed"
@@ -1824,6 +1860,15 @@
"required": true,
"type": "string",
"description": "The API version to be used with the HTTP request."
+ },
+ "AccessReviewsFilterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation. Other than standard filters, one custom filter option is supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are assigned to the calling user to review are returned",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "method"
}
}
}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewInstanceAssignedForMyApproval.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewInstanceAssignedForMyApproval.json
index 21c7b4f65958..6a31c9a623a6 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewInstanceAssignedForMyApproval.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewInstanceAssignedForMyApproval.json
@@ -2,7 +2,8 @@
"parameters": {
"api-version": "2021-03-01-preview",
"scheduleDefinitionId": "488a6d0e-0a63-4946-86e3-1f5bbc934661",
- "id": "4135f961-be78-4005-8101-c72a5af307a2"
+ "id": "4135f961-be78-4005-8101-c72a5af307a2",
+ "$filter": "assignedToMeToReview()"
},
"responses": {
"200": {
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewInstancesAssignedForMyApproval.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewInstancesAssignedForMyApproval.json
index ecde1dabf322..106c6b99a13f 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewInstancesAssignedForMyApproval.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewInstancesAssignedForMyApproval.json
@@ -1,7 +1,8 @@
{
"parameters": {
"api-version": "2021-03-01-preview",
- "scheduleDefinitionId": "488a6d0e-0a63-4946-86e3-1f5bbc934661"
+ "scheduleDefinitionId": "488a6d0e-0a63-4946-86e3-1f5bbc934661",
+ "$filter": "assignedToMeToReview()"
},
"responses": {
"200": {
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewScheduleDefinitionsAssignedForMyApproval.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewScheduleDefinitionsAssignedForMyApproval.json
index e4225ed1bb8c..c45aa036bb0c 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewScheduleDefinitionsAssignedForMyApproval.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewScheduleDefinitionsAssignedForMyApproval.json
@@ -1,6 +1,7 @@
{
"parameters": {
- "api-version": "2021-03-01-preview"
+ "api-version": "2021-03-01-preview",
+ "$filter": "assignedToMeToReview()"
},
"responses": {
"200": {
diff --git a/specification/authorization/resource-manager/readme.azureresourceschema.md b/specification/authorization/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index f667b0ddc104..000000000000
--- a/specification/authorization/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,175 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-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-04-01-preview
- - tag: schema-authorization-2020-03-01-preview
- - tag: schema-authorization-2018-09-01-preview
- - tag: schema-authorization-2018-07-01-preview
- - tag: schema-authorization-2018-05-01-preview
- - tag: schema-authorization-2018-01-01-preview
- - tag: schema-authorization-2017-10-01-preview
- - tag: schema-authorization-2015-07-01
- - tag: schema-authorization-2015-06-01
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-authorization-2021-03-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-authorization-2021-03-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Authorization/preview/2021-03-01-preview/authorization-AccessReviewCalls.json
-
-```
-
-### Tag: schema-authorization-2021-01-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-authorization-2021-01-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Authorization/preview/2021-01-01-preview/authorization-RoleAssignmentApprovalCalls.json
-
-```
-
-### Tag: schema-authorization-2020-10-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-authorization-2020-10-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Authorization/preview/2020-10-01-preview/RoleAssignmentSchedule.json
- - Microsoft.Authorization/preview/2020-10-01-preview/RoleAssignmentScheduleInstance.json
- - Microsoft.Authorization/preview/2020-10-01-preview/RoleAssignmentScheduleRequest.json
- - Microsoft.Authorization/preview/2020-10-01-preview/RoleEligibilitySchedule.json
- - Microsoft.Authorization/preview/2020-10-01-preview/RoleEligibilityScheduleInstance.json
- - 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
-
-```
-
-### Tag: schema-authorization-2020-04-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-authorization-2020-04-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json
-
-```
-
-### Tag: schema-authorization-2020-03-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-authorization-2020-03-01-preview' && $(azureresourceschema)
-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-2018-09-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-authorization-2018-09-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Authorization/preview/2018-09-01-preview/authorization-RoleAssignmentsCalls.json
-
-```
-
-### Tag: schema-authorization-2018-07-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-authorization-2018-07-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Authorization/preview/2018-07-01-preview/authorization-DenyAssignmentGetCalls.json
-
-```
-
-### Tag: schema-authorization-2018-05-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-authorization-2018-05-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Authorization/preview/2018-05-01-preview/authorization-AccessReviewCalls.json
-
-```
-
-### Tag: schema-authorization-2018-01-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-authorization-2018-01-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Authorization/preview/2018-01-01-preview/authorization-ProviderOperationsCalls.json
- - Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleDefinitionsCalls.json
- - Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleAssignmentsCalls.json
-
-```
-
-### Tag: schema-authorization-2017-10-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-authorization-2017-10-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Authorization/preview/2017-10-01-preview/authorization-RoleAssignmentsCalls.json
-
-```
-
-### Tag: schema-authorization-2015-07-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-authorization-2015-07-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Authorization/stable/2015-07-01/authorization-ElevateAccessCalls.json
- - Microsoft.Authorization/stable/2015-07-01/authorization-RoleDefinitionsCalls.json
- - Microsoft.Authorization/stable/2015-07-01/authorization-ProviderOperationsCalls.json
- - Microsoft.Authorization/stable/2015-07-01/authorization-RoleAssignmentsCalls.json
- - Microsoft.Authorization/stable/2015-07-01/authorization-ClassicAdminCalls.json
-
-```
-
-### Tag: schema-authorization-2015-06-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-authorization-2015-06-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Authorization/preview/2015-06-01/authorization-ClassicAdminCalls.json
-
-```
diff --git a/specification/authorization/resource-manager/readme.csharp.md b/specification/authorization/resource-manager/readme.csharp.md
index 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 2dc43deb9bc3..b5b24935109a 100644
--- a/specification/authorization/resource-manager/readme.md
+++ b/specification/authorization/resource-manager/readme.md
@@ -77,6 +77,17 @@ directive:
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.
+ - suppress: AddedPropertyInResponse
+ from: authorization-AccessReviewCalls.json
+ reason: API documentation is not exposed yet. We're making some small changes before publishing documentation.
+ - suppress: AddingOptionalProperty
+ from: authorization-AccessReviewCalls.json
+ reason: API documentation is not exposed yet. We're making some small changes before publishing documentation.
```
### Tag: package-2021-03-01-preview-only
@@ -102,6 +113,8 @@ 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
@@ -110,14 +123,13 @@ These settings apply only when `--tag=package-2020-08-01-preview` is specified o
``` yaml $(tag) == 'package-2020-08-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/2020-03-01-preview/authorization-PermissionsCalls.json
-- Microsoft.Authorization/preview/2020-08-01-preview/authorization-RoleAssignmentsCalls.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/2019-08-01-preview/authorization-UsageMetricsCalls.json
+- Microsoft.Authorization/preview/2020-08-01-preview/authorization-RoleAssignmentsCalls.json
```
### Tag: package-2020-04-01-preview
@@ -131,8 +143,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
@@ -150,13 +162,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
```
@@ -341,8 +352,6 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_authorization']
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js authorization/resource-manager
```
## Go
@@ -353,7 +362,5 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
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.azureresourceschema.md b/specification/automanage/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index 4a51ecd85b66..000000000000
--- a/specification/automanage/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,24 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-automanage-2020-06-30-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-automanage-2020-06-30-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-automanage-2020-06-30-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Automanage/preview/2020-06-30-preview/automanage.json
-
-```
diff --git a/specification/automanage/resource-manager/readme.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/automanage/resource-manager/readme.md b/specification/automanage/resource-manager/readme.md
index 4e54a1d44f3c..c2b15407698e 100644
--- a/specification/automanage/resource-manager/readme.md
+++ b/specification/automanage/resource-manager/readme.md
@@ -62,7 +62,6 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-net
- - repo: azure-sdk-for-python
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
@@ -72,6 +71,10 @@ swagger-to-sdk:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_automanage']
```
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
## C#
These settings apply only when `--csharp` is specified on the command line.
diff --git a/specification/automanage/resource-manager/readme.python.md b/specification/automanage/resource-manager/readme.python.md
index caf9a094f45f..31f326689f7f 100644
--- a/specification/automanage/resource-manager/readme.python.md
+++ b/specification/automanage/resource-manager/readme.python.md
@@ -4,19 +4,8 @@ These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml $(python) && !$(track2)
-python-mode: create
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- namespace: azure.mgmt.automanage
- package-name: azure-mgmt-automanage
- package-version: 0.1.0
- clear-output-folder: true
-```
-```yaml $(python) && $(track2)
+```yaml $(python)
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
package-name: azure-mgmt-automanage
@@ -26,15 +15,11 @@ no-namespace-folders: true
```
``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/automanage/azure-mgmt-automanage/azure/mgmt/automanage
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/automanage/azure-mgmt-automanage/azure/mgmt/automanage
```
``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/automanage/azure-mgmt-automanage
basic-setup-py: true
output-folder: $(python-sdks-folder)/automanage/azure-mgmt-automanage
```
diff --git a/specification/automation/resource-manager/readme.azureresourceschema.md b/specification/automation/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index f6041cfc7032..000000000000
--- a/specification/automation/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,159 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-automation-2020-01-13-preview
- - tag: schema-automation-2019-06-01
- - tag: schema-automation-2018-06-30
- - tag: schema-automation-2018-01-15
- - tag: schema-automation-2017-05-15-preview
- - tag: schema-automation-2015-10-31
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-automation-2020-01-13-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-automation-2020-01-13-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Automation/preview/2020-01-13-preview/privateEndpointConnection.json
- - Microsoft.Automation/preview/2020-01-13-preview/privateLinkResources.json
- - Microsoft.Automation/preview/2020-01-13-preview/python2package.json
- - Microsoft.Automation/preview/2020-01-13-preview/dscNode.json
- - Microsoft.Automation/preview/2020-01-13-preview/dscNodeConfiguration.json
- - Microsoft.Automation/preview/2020-01-13-preview/dscCompilationJob.json
- - Microsoft.Automation/preview/2020-01-13-preview/dscNodeCounts.json
- - Microsoft.Automation/preview/2020-01-13-preview/sourceControl.json
- - Microsoft.Automation/preview/2020-01-13-preview/sourceControlSyncJob.json
- - Microsoft.Automation/preview/2020-01-13-preview/sourceControlSyncJobStreams.json
- - Microsoft.Automation/preview/2020-01-13-preview/account.json
- - Microsoft.Automation/preview/2020-01-13-preview/certificate.json
- - Microsoft.Automation/preview/2020-01-13-preview/connection.json
- - Microsoft.Automation/preview/2020-01-13-preview/connectionType.json
- - Microsoft.Automation/preview/2020-01-13-preview/credential.json
- - Microsoft.Automation/preview/2020-01-13-preview/hybridRunbookWorkerGroup.json
- - Microsoft.Automation/preview/2020-01-13-preview/jobSchedule.json
- - Microsoft.Automation/preview/2020-01-13-preview/linkedWorkspace.json
- - Microsoft.Automation/preview/2020-01-13-preview/module.json
- - Microsoft.Automation/preview/2020-01-13-preview/schedule.json
- - Microsoft.Automation/preview/2020-01-13-preview/variable.json
- - Microsoft.Automation/preview/2020-01-13-preview/watcher.json
-
-```
-
-### Tag: schema-automation-2019-06-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-automation-2019-06-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Automation/stable/2019-06-01/runbook.json
- - Microsoft.Automation/stable/2019-06-01/python2package.json
- - Microsoft.Automation/stable/2019-06-01/dscNode.json
- - Microsoft.Automation/stable/2019-06-01/dscCompilationJob.json
- - Microsoft.Automation/stable/2019-06-01/dscNodeConfiguration.json
- - Microsoft.Automation/stable/2019-06-01/dscNodeCounts.json
- - Microsoft.Automation/stable/2019-06-01/softwareUpdateConfigurationRun.json
- - Microsoft.Automation/stable/2019-06-01/softwareUpdateConfigurationMachineRun.json
- - Microsoft.Automation/stable/2019-06-01/sourceControl.json
- - Microsoft.Automation/stable/2019-06-01/sourceControlSyncJob.json
- - Microsoft.Automation/stable/2019-06-01/sourceControlSyncJobStreams.json
- - Microsoft.Automation/stable/2019-06-01/job.json
- - Microsoft.Automation/stable/2019-06-01/account.json
- - Microsoft.Automation/stable/2019-06-01/certificate.json
- - Microsoft.Automation/stable/2019-06-01/connection.json
- - Microsoft.Automation/stable/2019-06-01/connectionType.json
- - Microsoft.Automation/stable/2019-06-01/credential.json
- - Microsoft.Automation/stable/2019-06-01/dscConfiguration.json
- - Microsoft.Automation/stable/2019-06-01/softwareUpdateConfiguration.json
- - Microsoft.Automation/stable/2019-06-01/hybridRunbookWorkerGroup.json
- - Microsoft.Automation/stable/2019-06-01/jobSchedule.json
- - Microsoft.Automation/stable/2019-06-01/linkedWorkspace.json
- - Microsoft.Automation/stable/2019-06-01/module.json
- - Microsoft.Automation/stable/2019-06-01/operations.json
- - Microsoft.Automation/stable/2019-06-01/schedule.json
- - Microsoft.Automation/stable/2019-06-01/variable.json
- - Microsoft.Automation/stable/2019-06-01/watcher.json
-
-```
-
-### Tag: schema-automation-2018-06-30 and azureresourceschema
-
-``` yaml $(tag) == 'schema-automation-2018-06-30' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Automation/stable/2018-06-30/runbook.json
- - Microsoft.Automation/stable/2018-06-30/python2package.json
-
-```
-
-### Tag: schema-automation-2018-01-15 and azureresourceschema
-
-``` yaml $(tag) == 'schema-automation-2018-01-15' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Automation/stable/2018-01-15/dscNode.json
- - Microsoft.Automation/stable/2018-01-15/dscCompilationJob.json
- - Microsoft.Automation/stable/2018-01-15/dscNodeConfiguration.json
- - Microsoft.Automation/stable/2018-01-15/dscNodeCounts.json
-
-```
-
-### Tag: schema-automation-2017-05-15-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-automation-2017-05-15-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfiguration.json
- - Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfigurationRun.json
- - Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfigurationMachineRun.json
- - Microsoft.Automation/preview/2017-05-15-preview/sourceControl.json
- - Microsoft.Automation/preview/2017-05-15-preview/sourceControlSyncJob.json
- - Microsoft.Automation/preview/2017-05-15-preview/sourceControlSyncJobStreams.json
- - Microsoft.Automation/preview/2017-05-15-preview/job.json
-
-```
-
-### Tag: schema-automation-2015-10-31 and azureresourceschema
-
-``` yaml $(tag) == 'schema-automation-2015-10-31' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Automation/stable/2015-10-31/account.json
- - Microsoft.Automation/stable/2015-10-31/certificate.json
- - Microsoft.Automation/stable/2015-10-31/connection.json
- - Microsoft.Automation/stable/2015-10-31/connectionType.json
- - Microsoft.Automation/stable/2015-10-31/credential.json
- - Microsoft.Automation/stable/2015-10-31/dscCompilationJob.json
- - Microsoft.Automation/stable/2015-10-31/dscConfiguration.json
- - Microsoft.Automation/stable/2015-10-31/dscNode.json
- - Microsoft.Automation/stable/2015-10-31/dscNodeConfiguration.json
- - Microsoft.Automation/stable/2015-10-31/hybridRunbookWorkerGroup.json
- - Microsoft.Automation/stable/2015-10-31/job.json
- - Microsoft.Automation/stable/2015-10-31/jobSchedule.json
- - Microsoft.Automation/stable/2015-10-31/linkedWorkspace.json
- - Microsoft.Automation/stable/2015-10-31/module.json
- - Microsoft.Automation/stable/2015-10-31/runbook.json
- - Microsoft.Automation/stable/2015-10-31/schedule.json
- - Microsoft.Automation/stable/2015-10-31/variable.json
- - Microsoft.Automation/stable/2015-10-31/watcher.json
- - Microsoft.Automation/stable/2015-10-31/webhook.json
-
-```
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 214f68f64b46..333ec8249cba 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
```
@@ -278,8 +279,6 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_automation']
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js automation/resource-manager
```
@@ -341,7 +340,5 @@ generate-interface: true
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json
index fda858d423a4..905307916692 100644
--- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json
+++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json
@@ -13,7 +13,7 @@
"/providers/Microsoft.AzureBridge.Admin/operations": {
"get": {
"x-ms-examples": {
- "Returns the list of support REST operations.": {
+ "Returns the list of supported REST operations.": {
"$ref": "./examples/Operations/List.json"
}
},
@@ -85,15 +85,26 @@
},
"Operation": {
"description": "Describes the supported REST operation.",
+ "type": "object",
"properties": {
+ "display": {
+ "description": "Contains the localized display information for this particular operation / action.",
+ "$ref": "#/definitions/Display",
+ "readOnly": true
+ },
+ "isDataAction": {
+ "description": "Whether the operation applies to data-plane. This is \"true\" for data-plane operations and \"false\" for ARM/control-plane operations.",
+ "type": "boolean",
+ "readOnly": true
+ },
"name": {
"description": "The name of the operation being performed on this particular object. This name should match the name that appears in RBAC or the event service.",
"type": "string",
"readOnly": true
},
- "display": {
- "description": "Contains the localized display information for this particular operation / action.",
- "$ref": "#/definitions/Display",
+ "origin": {
+ "description": "Origin for the operation.",
+ "type": "string",
"readOnly": true
}
}
diff --git a/specification/azsadmin/resource-manager/commerce/Microsoft.Commerce.Admin/preview/2015-06-01-preview/Commerce.json b/specification/azsadmin/resource-manager/commerce/Microsoft.Commerce.Admin/preview/2015-06-01-preview/Commerce.json
index 890c3b5b8fda..1cad4428fcff 100644
--- a/specification/azsadmin/resource-manager/commerce/Microsoft.Commerce.Admin/preview/2015-06-01-preview/Commerce.json
+++ b/specification/azsadmin/resource-manager/commerce/Microsoft.Commerce.Admin/preview/2015-06-01-preview/Commerce.json
@@ -39,6 +39,12 @@
"schema": {
"$ref": "#/definitions/OperationList"
}
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ExtendedErrorInfo"
+ }
}
},
"x-ms-pageable": {
@@ -82,6 +88,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ExtendedErrorInfo"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -105,7 +117,7 @@
"tags": [
"Commerce"
],
- "operationId": "UpdateEncryption",
+ "operationId": "Commerce_UpdateEncryption",
"parameters": [
{
"$ref": "#/parameters/SubscriptionIdParameter"
@@ -115,6 +127,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ExtendedErrorInfo"
+ }
+ },
"200": {
"description": "OK"
}
@@ -225,14 +243,27 @@
},
"Operation": {
"description": "Describes the supported REST operation.",
+ "type": "object",
"properties": {
+ "display": {
+ "description": "Contains the localized display information for this particular operation or action.",
+ "$ref": "#/definitions/Display",
+ "readOnly": true
+ },
+ "isDataAction": {
+ "description": "Whether the operation applies to data-plane. This is \"true\" for data-plane operations and \"false\" for ARM/control-plane operations.",
+ "type": "boolean",
+ "readOnly": true
+ },
"name": {
"description": "The name of the operation performed on the object. The name should match the action name that appears in RBAC or the event service.",
- "type": "string"
+ "type": "string",
+ "readOnly": true
},
- "display": {
- "description": "Contains the localized display information for this particular operation or action.",
- "$ref": "#/definitions/Display"
+ "origin": {
+ "description": "Origin for the operation.",
+ "type": "string",
+ "readOnly": true
}
}
},
@@ -240,20 +271,24 @@
"description": "Contains the localized display information for this particular operation / action.",
"properties": {
"provider": {
- "description": "The localized, friendly version of the resource provider name. The provider name is expected to include the name of the publisher or company responsible. The provider name format should use title case and begin with \"Microsoft\" for first-party services. For example, the provider name may be\"Microsoft Monitoring Insights\" or \"Microsoft Compute\".",
- "type": "string"
+ "description": "The localized friendly form of the resource provider name – it is expected to also include the publisher/company responsible. It should use Title Casing and begin with \"Microsoft\" for 1st party services. e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute.\"",
+ "type": "string",
+ "readOnly": true
},
"resource": {
"description": "The localized, friendly version of the resource type related to this action or operation; the resource type should match the public documentation for the resource provider.",
- "type": "string"
+ "type": "string",
+ "readOnly": true
},
"operation": {
- "description": "The localized, friendly name for the operation. Use the name as it will be displayed to the user.",
- "type": "string"
+ "description": "The localized, friendly name for the operation. Use the name as it will displayed to the user.",
+ "type": "string",
+ "readOnly": true
},
"description": {
"description": "The localized, friendly description for the operation. The description will be displayed to the user. It should be thorough and concise for used in both tooltips and detailed views.",
- "type": "string"
+ "type": "string",
+ "readOnly": true
}
}
},
@@ -272,6 +307,40 @@
"type": "string"
}
}
+ },
+ "ExtendedErrorInfo": {
+ "type": "object",
+ "description": "Error response.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorDefinition",
+ "description": "The error details."
+ }
+ }
+ },
+ "ErrorDefinition": {
+ "type": "object",
+ "description": "Error definition.",
+ "properties": {
+ "code": {
+ "description": "Service specific error code which serves as the substatus for the HTTP error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Description of the error.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "Internal error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDefinition"
+ },
+ "readOnly": true
+ }
+ }
}
},
"parameters": {
diff --git a/specification/azsadmin/resource-manager/commerce/readme.md b/specification/azsadmin/resource-manager/commerce/readme.md
index 7e36302807ea..907e67cbbf52 100644
--- a/specification/azsadmin/resource-manager/commerce/readme.md
+++ b/specification/azsadmin/resource-manager/commerce/readme.md
@@ -2,7 +2,7 @@
> see https://aka.ms/autorest
-This is the AutoRest configuration file for Commerce Admin.
+This is the AutoRest configuration file for Commerce Admin. We do not ship any language SDKs for AzureStack Administrator APIs and these APIs do not exist in azure.
---
## Getting Started
@@ -39,16 +39,6 @@ input-file:
---
# Code Generation
-## Swagger to SDK
-
-This section describes what SDK should be generated by the automatic system.
-This is not used by Autorest itself. Currently only the C# SDK is supported.
-
-``` yaml $(swagger-to-sdk)
-swagger-to-sdk:
- - repo: azure-sdk-for-sdk
-```
-
## C#
``` yaml $(csharp)
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json
index 7a3968f659a9..3d95db7cc37c 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json
@@ -38,6 +38,12 @@
"schema": {
"$ref": "#/definitions/OperationList"
}
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
}
},
"x-ms-pageable": {
@@ -94,8 +100,9 @@
"type": "string"
},
"isDataAction": {
- "description": "Gets or sets a value indicating whether the operation is a data action or not.",
- "type": "boolean"
+ "description": "Whether the operation applies to data-plane. This is \"true\" for data-plane operations and \"false\" for ARM/control-plane operations.",
+ "type": "boolean",
+ "readOnly": true
},
"display": {
"description": "Contains the localized display information for this particular operation or action.",
@@ -139,6 +146,37 @@
"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
+ }
+ }
}
},
"parameters": {
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json
index eeeac1dc49a7..8b46a0f33670 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json
@@ -45,6 +45,12 @@
"schema": {
"$ref": "#/definitions/PlatformImageList"
}
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
}
}
}
@@ -91,6 +97,12 @@
"schema": {
"$ref": "#/definitions/PlatformImage"
}
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
}
}
},
@@ -150,6 +162,12 @@
"schema": {
"$ref": "#/definitions/PlatformImage"
}
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
}
},
"x-ms-long-running-operation": true
@@ -190,6 +208,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ },
"200": {
"description": "OK"
}
@@ -307,6 +331,37 @@
"$ref": "#/definitions/PlatformImageProperties"
}
}
+ },
+ "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
+ }
+ }
}
},
"parameters": {
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json
index 933404e75268..7a8c478f0d70 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json
@@ -54,6 +54,12 @@
"schema": {
"$ref": "#/definitions/VMExtension"
}
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
}
}
},
@@ -110,6 +116,12 @@
"schema": {
"$ref": "#/definitions/VMExtension"
}
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
}
}
},
@@ -154,6 +166,12 @@
"responses": {
"200": {
"description": "OK"
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
}
}
}
@@ -194,6 +212,12 @@
"schema": {
"$ref": "#/definitions/VMExtensionList"
}
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
}
}
}
@@ -281,6 +305,37 @@
"$ref": "#/definitions/VMExtensionProperties"
}
}
+ },
+ "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
+ }
+ }
}
},
"parameters": {
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/examples/Operations/List.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/examples/Operations/List.json
index 023347b494d8..3c478352aa0f 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/examples/Operations/List.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/examples/Operations/List.json
@@ -114,9 +114,17 @@
"description": "Delete any VMExtension"
}
},
+ {
+ "name": "Microsoft.Compute.Admin/locations/computeScaleUnits/read",
+ "display": {
+ "provider": "Microsoft Compute Admin",
+ "resource": "ScaleUnitView",
+ "operation": "Get scale unit view",
+ "description": "Get scale unit view"
+ }
+ },
{
"name": "Microsoft.Compute.Admin/locations/Disks/read",
- "isDataAction": false,
"display": {
"provider": "Microsoft Compute Admin",
"resource": "Disks",
@@ -126,7 +134,6 @@
},
{
"name": "Microsoft.Compute.Admin/locations/DiskMigrationJobs/read",
- "isDataAction": false,
"display": {
"provider": "Microsoft Compute Admin",
"resource": "DiskMigrationJobs",
@@ -136,7 +143,6 @@
},
{
"name": "Microsoft.Compute.Admin/locations/DiskMigrationJobs/write",
- "isDataAction": false,
"display": {
"provider": "Microsoft Compute Admin",
"resource": "DiskMigrationJobs",
@@ -146,7 +152,6 @@
},
{
"name": "Microsoft.Compute.Admin/locations/DiskMigrationJobs/cancel/action",
- "isDataAction": false,
"display": {
"provider": "Microsoft Compute Admin",
"resource": "DiskMigrationJobs",
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/DiskMigrationJobs.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/DiskMigrationJobs.json
index 2456dcf23c55..e4635d68b2e5 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/DiskMigrationJobs.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/DiskMigrationJobs.json
@@ -48,6 +48,12 @@
"schema": {
"$ref": "DiskMigrationJobs.json#/definitions/DiskMigrationJobList"
}
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
}
},
"x-ms-pageable": {
@@ -87,6 +93,12 @@
"schema": {
"$ref": "DiskMigrationJobs.json#/definitions/DiskMigrationJob"
}
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
}
}
},
@@ -133,6 +145,12 @@
"schema": {
"$ref": "DiskMigrationJobs.json#/definitions/DiskMigrationJob"
}
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
}
}
}
@@ -169,6 +187,12 @@
"schema": {
"$ref": "DiskMigrationJobs.json#/definitions/DiskMigrationJob"
}
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
}
}
}
@@ -361,6 +385,37 @@
"items": {
"$ref": "Disks.json#/definitions/Disk"
}
+ },
+ "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
+ }
+ }
}
},
"parameters": {
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/Disks.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/Disks.json
index b0bfd8aa99e9..cd4dd27b232a 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/Disks.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/Disks.json
@@ -66,6 +66,12 @@
"schema": {
"$ref": "Disks.json#/definitions/DiskList"
}
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
}
},
"x-ms-pageable": {
@@ -105,6 +111,12 @@
"schema": {
"$ref": "Disks.json#/definitions/Disk"
}
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
}
}
}
@@ -245,6 +257,37 @@
"name": "AccountType",
"modelAsString": true
}
+ },
+ "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
+ }
+ }
}
},
"parameters": {
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/examples/DiskMigrationJobs/Create.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/examples/DiskMigrationJobs/Create.json
index 45b134eda4b3..504e0202d3d0 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/examples/DiskMigrationJobs/Create.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/examples/DiskMigrationJobs/Create.json
@@ -7,9 +7,6 @@
"targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1",
"disks": [
{
- "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/disks/423e4eb4-f791-4d13-ad5b-4d415733b0d6",
- "name": "redmond/423e4eb4-f791-4d13-ad5b-4d415733b0d6",
- "type": "Microsoft.Compute.Admin/locations/disks",
"location": "redmond",
"properties": {
"diskId": "423e4eb4-f791-4d13-ad5b-4d415733b0d6",
@@ -18,9 +15,6 @@
}
},
{
- "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/disks/48dc9b56-5883-4011-9dc3-0e527f33e6ab",
- "name": "redmond/48dc9b56-5883-4011-9dc3-0e527f33e6ab",
- "type": "Microsoft.Compute.Admin/locations/disks",
"location": "redmond",
"properties": {
"diskId": "48dc9b56-5883-4011-9dc3-0e527f33e6ab",
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2020-11-01/Features.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2020-11-01/Features.json
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..a4b47d7f5cca
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-01-01/Quotas.json
@@ -0,0 +1,411 @@
+{
+ "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"
+ }
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ },
+ "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"
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "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
+ },
+ "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
+ }
+ }
+ }
+ },
+ "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/Microsoft.Compute.Admin/stable/2021-03-30/ScaleUnits.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-03-30/ScaleUnits.json
new file mode 100644
index 000000000000..4b58376db718
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-03-30/ScaleUnits.json
@@ -0,0 +1,289 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-03-30",
+ "title": "Compute Admin Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/providers/Microsoft.Compute.Admin/locations/{location}/computeScaleUnits/{scaleUnitName}": {
+ "get": {
+ "x-ms-examples": {
+ "Get an existing scale set.": {
+ "$ref": "./examples/ScaleUnits/Get.json"
+ }
+ },
+ "tags": [
+ "ScaleUnits"
+ ],
+ "summary": "Returns the scale unit view.",
+ "description": "Get the scale unit view.",
+ "operationId": "ScaleUnits_Get",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "ScaleUnits.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "ScaleUnits.json#/parameters/ScaleUnitParameter"
+ },
+ {
+ "$ref": "ScaleUnits.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "ScaleUnits.json#/definitions/ScaleUnit"
+ }
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ScaleUnit": {
+ "description": "The scale unit operator view.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "The scale unit operator view properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ScaleUnitProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "ScaleUnitProperties": {
+ "description": "Properties for a scale unit",
+ "type": "object",
+ "properties": {
+ "scaleUnitName": {
+ "description": "The name of the scale unit.",
+ "type": "string"
+ },
+ "lastUpdatedTime": {
+ "description": "The scale unit last update time (UTC).",
+ "type": "string"
+ },
+ "nodes": {
+ "description": "The nodes of the scale unit.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NodeView"
+ }
+ }
+ }
+ },
+ "NodeView": {
+ "description": "Properties for a node",
+ "type": "object",
+ "properties": {
+ "nodeName": {
+ "description": "The name of the node.",
+ "type": "string"
+ },
+ "lastUpdatedTime": {
+ "description": "The node last update time (UTC).",
+ "type": "string"
+ },
+ "nodeHealthState": {
+ "description": "The node health state.",
+ "enum": [
+ "Unknown",
+ "Up",
+ "Down",
+ "MaintenanceMode"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NodeHealthState"
+ }
+ },
+ "virtualMachines": {
+ "description": "The virtual machines on the node.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineView"
+ }
+ }
+ }
+ },
+ "VirtualMachineView": {
+ "description": "Properties for a virtual machine",
+ "type": "object",
+ "properties": {
+ "vmName": {
+ "description": "The name of the virtual machine.",
+ "type": "string"
+ },
+ "vmId": {
+ "description": "The identifier of the virtual machine.",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "The identifier of the subscription.",
+ "type": "string"
+ },
+ "resourceGroupName": {
+ "description": "The resource group name.",
+ "type": "string"
+ },
+ "vmSize": {
+ "description": "The virtual machine size.",
+ "type": "string"
+ },
+ "vmScaleSetName": {
+ "description": "The virtual machine scale set name.",
+ "type": "string"
+ },
+ "lastProvisioningErrorMessage": {
+ "description": "The virtual machine last provisioning error message.",
+ "type": "string"
+ },
+ "timeOfLastConfigurationChange": {
+ "description": "The time of last configuration change (UTC).",
+ "type": "string"
+ },
+ "powerState": {
+ "description": "The fabric VM power state.",
+ "enum": [
+ "Unknown",
+ "Stopped",
+ "Running",
+ "Paused",
+ "SavedState",
+ "Stopping",
+ "Starting",
+ "Pausing",
+ "Resuming",
+ "Saving"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "VmPowerState"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "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
+ }
+ }
+ }
+ },
+ "parameters": {
+ "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"
+ },
+ "ScaleUnitParameter": {
+ "description": "Name of the scale unit.",
+ "name": "scaleUnitName",
+ "type": "string",
+ "required": true,
+ "in": "path",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Authorization uses an Azure Active Directory OAuth2 flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-03-30/examples/ScaleUnits/Get.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-03-30/examples/ScaleUnits/Get.json
new file mode 100644
index 000000000000..acc2a8970626
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-03-30/examples/ScaleUnits/Get.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "location": "local",
+ "scaleUnitName": "s-cluster",
+ "api-version": "2021-03-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Compute.Admin/locations/local/computeScaleUnits/s-cluster",
+ "type": "Microsoft.Compute.Admin/locations/computeScaleUnits",
+ "location": "local",
+ "properties": {
+ "scaleUnitName": "s-cluster",
+ "lastUpdatedTime": "2021-03-30T12:34:00.00000Z",
+ "nodes": [
+ {
+ "nodeName": "AzsNode1",
+ "lastUpdatedTime": "2021-03-30T12:34:00.00000Z",
+ "nodeHealthState": "Up",
+ "virtualMachines": [
+ {
+ "vmName": "tenantVm1",
+ "vmId": "AE7920EF-2225-4D4B-965F-76D077278A92",
+ "subscriptionId": "CF82763A-3528-4776-9D4C-F0BF718900C7",
+ "resourceGroupName": "tenantRg1",
+ "vmSize": "Standard_A1",
+ "timeOfLastConfigurationChange": "2021-03-30T12:34:00.00000Z",
+ "powerState": "Running"
+ },
+ {
+ "vmName": "tenantVmScaleSet_0",
+ "vmId": "6832C576-9F0B-438C-AC58-23BB540FD960",
+ "subscriptionId": "CF82763A-3528-4776-9D4C-F0BF718900C7",
+ "resourceGroupName": "tenantRg1",
+ "vmSize": "Standard_A1",
+ "vmScaleSetName": "tenantVmScaleSet",
+ "timeOfLastConfigurationChange": "2021-03-30T12:34:00.00000Z",
+ "powerState": "Running"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/DiskMigrationJobs.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/DiskMigrationJobs.json
new file mode 100644
index 000000000000..ebf93493cbd8
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/DiskMigrationJobs.json
@@ -0,0 +1,489 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-04-01",
+ "title": "ComputeDiskAdminManagementClient",
+ "description": "The Admin Compute Disk Management Client."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/diskmigrationjobs": {
+ "get": {
+ "x-ms-examples": {
+ "Returns a list of disk migration jobs.": {
+ "$ref": "./examples/DiskMigrationJobs/List.json"
+ }
+ },
+ "tags": [
+ "DiskMigrationJobs"
+ ],
+ "operationId": "DiskMigrationJobs_List",
+ "description": "Returns a list of disk migration jobs.",
+ "parameters": [
+ {
+ "$ref": "Disks.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Disks.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "DiskMigrationJobs.json#/parameters/MigrationJobStatusParameter"
+ },
+ {
+ "$ref": "Disks.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK -- The list of disk migration jobs has been returned.",
+ "schema": {
+ "$ref": "DiskMigrationJobs.json#/definitions/DiskMigrationJobList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/diskmigrationjobs/{migrationId}": {
+ "get": {
+ "x-ms-examples": {
+ "Returns the requested disk migration job.": {
+ "$ref": "./examples/DiskMigrationJobs/Get.json"
+ }
+ },
+ "tags": [
+ "DiskMigrationJobs"
+ ],
+ "operationId": "DiskMigrationJobs_Get",
+ "description": "Returns the requested disk migration job.",
+ "parameters": [
+ {
+ "$ref": "Disks.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Disks.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "DiskMigrationJobs.json#/parameters/MigrationIdParameter"
+ },
+ {
+ "$ref": "Disks.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK -- The disk migration job has been returned.",
+ "schema": {
+ "$ref": "DiskMigrationJobs.json#/definitions/DiskMigrationJob"
+ }
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Create a disk migration job.": {
+ "$ref": "./examples/DiskMigrationJobs/Create.json"
+ }
+ },
+ "tags": [
+ "DiskMigrationJobs"
+ ],
+ "operationId": "DiskMigrationJobs_Create",
+ "description": "Create a disk migration job.",
+ "parameters": [
+ {
+ "$ref": "Disks.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Disks.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "DiskMigrationJobs.json#/parameters/MigrationIdParameter"
+ },
+ {
+ "$ref": "DiskMigrationJobs.json#/parameters/TargetShareParameter"
+ },
+ {
+ "$ref": "DiskMigrationJobs.json#/parameters/TargetScaleUnitParameter"
+ },
+ {
+ "$ref": "DiskMigrationJobs.json#/parameters/TargetVolumeLabelParameter"
+ },
+ {
+ "$ref": "DiskMigrationJobs.json#/parameters/DiskListParameter"
+ },
+ {
+ "$ref": "Disks.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK -- Disk migration job is created successfully.",
+ "schema": {
+ "$ref": "DiskMigrationJobs.json#/definitions/DiskMigrationJob"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/diskMigrationJobs/{migrationId}/cancel": {
+ "post": {
+ "x-ms-examples": {
+ "Cancel a disk migration job.": {
+ "$ref": "./examples/DiskMigrationJobs/Cancel.json"
+ }
+ },
+ "tags": [
+ "DiskMigrationJobs"
+ ],
+ "operationId": "DiskMigrationJobs_Cancel",
+ "description": "Cancel a disk migration job.",
+ "parameters": [
+ {
+ "$ref": "Disks.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Disks.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "DiskMigrationJobs.json#/parameters/MigrationIdParameter"
+ },
+ {
+ "$ref": "Disks.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK -- Disk migration job cancellation is called.",
+ "schema": {
+ "$ref": "DiskMigrationJobs.json#/definitions/DiskMigrationJob"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ErrorResponse": {
+ "description": "Error response.",
+ "properties": {
+ "error": {
+ "description": "Error definition.",
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ },
+ "ErrorDefinition": {
+ "description": "Error definition.",
+ "readOnly": true,
+ "required": [
+ "message",
+ "code"
+ ],
+ "properties": {
+ "code": {
+ "description": "Service specific error code which serves as the substatus for the HTTP error code.",
+ "type": "string",
+ "minimum": 100,
+ "maximum": 600
+ },
+ "message": {
+ "description": "Description of the error.",
+ "type": "string"
+ }
+ }
+ },
+ "MigrationJobStatus": {
+ "description": "Migration job status.",
+ "type": "string",
+ "enum": [
+ "Undefined",
+ "Running",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Pending"
+ ],
+ "x-ms-enum": {
+ "name": "MigrationJobStatus",
+ "modelAsString": true
+ }
+ },
+ "MigrationSubTaskStatus": {
+ "description": "Migration child task status.",
+ "type": "string",
+ "enum": [
+ "Undefined",
+ "Running",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Pending",
+ "Skipped"
+ ],
+ "x-ms-enum": {
+ "name": "MigrationSubTaskStatus",
+ "modelAsString": true
+ }
+ },
+ "MigrationSubTaskProperties": {
+ "description": "Disk migration child task properties.",
+ "type": "object",
+ "properties": {
+ "migrationSubtaskStatus": {
+ "description": "The disk migration child task status.",
+ "$ref": "DiskMigrationJobs.json#/definitions/MigrationSubTaskStatus",
+ "readOnly": true
+ },
+ "reason": {
+ "description": "The reason of task failure.",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "description": "The task start time.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "endTime": {
+ "description": "The task end time.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "targetShare": {
+ "description": "The target share of migration task.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sourceShare": {
+ "description": "The source share of migration task.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetDiskStateForMigration": {
+ "description": "The disk status.",
+ "$ref": "Disks.json#/definitions/DiskState",
+ "readOnly": true
+ },
+ "diskId": {
+ "description": "The id of disk.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "MigrationSubTaskList": {
+ "description": "List of disk migration tasks.",
+ "type": "array",
+ "items": {
+ "$ref": "DiskMigrationJobs.json#/definitions/MigrationSubTask"
+ }
+ },
+ "MigrationSubTask": {
+ "description": "Disk migration child task.",
+ "type": "object",
+ "properties": {
+ "migrationSubTaskId": {
+ "description": "The id of migration child task.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "DiskMigrationJobs.json#/definitions/MigrationSubTaskProperties",
+ "description": "Disk migration child task properties."
+ }
+ }
+ },
+ "DiskMigrationJobProperties": {
+ "description": "Disk migration job properties.",
+ "type": "object",
+ "properties": {
+ "migrationId": {
+ "description": "The disk migration id.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The current status of disk migration job.",
+ "$ref": "DiskMigrationJobs.json#/definitions/MigrationJobStatus",
+ "readOnly": true
+ },
+ "subtasks": {
+ "description": "The list of child migration tasks.",
+ "$ref": "DiskMigrationJobs.json#/definitions/MigrationSubTaskList",
+ "readOnly": true
+ },
+ "creationTime": {
+ "description": "The job creation time.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "startTime": {
+ "description": "The job start time.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "endTime": {
+ "description": "The job end time.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "targetShare": {
+ "description": "The target share of migration job.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DiskMigrationJob": {
+ "description": "Disk migration job.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "DiskMigrationJobs.json#/definitions/DiskMigrationJobProperties",
+ "description": "Disk migration properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/definitions/Resource"
+ }
+ ]
+ },
+ "DiskMigrationJobList": {
+ "type": "object",
+ "description": "List of disk migration jobs.",
+ "properties": {
+ "value": {
+ "description": "List of disk migration jobs.",
+ "type": "array",
+ "items": {
+ "$ref": "DiskMigrationJobs.json#/definitions/DiskMigrationJob"
+ }
+ },
+ "nextLink": {
+ "description": "URI to the next page.",
+ "type": "string"
+ }
+ }
+ },
+ "DiskListInput": {
+ "type": "array",
+ "description": "List of disks.",
+ "items": {
+ "$ref": "Disks.json#/definitions/Disk"
+ }
+ }
+ },
+ "parameters": {
+ "MigrationJobStatusParameter": {
+ "description": "The parameters of disk migration job status.",
+ "name": "status",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "MigrationIdParameter": {
+ "description": "The migration job guid name.",
+ "name": "migrationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "TargetShareParameter": {
+ "description": "The target share name.",
+ "name": "targetShare",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "TargetScaleUnitParameter": {
+ "description": "The target scale unit name.",
+ "name": "targetScaleUnit",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "TargetVolumeLabelParameter": {
+ "description": "The target volume label.",
+ "name": "targetVolumeLabel",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DiskListParameter": {
+ "description": "The parameters of disk list.",
+ "name": "disks",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "DiskMigrationJobs.json#/definitions/DiskListInput"
+ },
+ "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-04-01/Disks.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/Disks.json
new file mode 100644
index 000000000000..575505b8c72d
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/Disks.json
@@ -0,0 +1,447 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-04-01",
+ "title": "ComputeDiskAdminManagementClient",
+ "description": "The Admin Compute Disk Management Client."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/disks": {
+ "get": {
+ "x-ms-examples": {
+ "Returns a list of disks.": {
+ "$ref": "./examples/Disks/List.json"
+ }
+ },
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_List",
+ "description": "Returns a list of disks.",
+ "parameters": [
+ {
+ "$ref": "Disks.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Disks.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "Disks.json#/parameters/UserSubscriptionIdParameter"
+ },
+ {
+ "$ref": "Disks.json#/parameters/DiskStateParameter"
+ },
+ {
+ "$ref": "Disks.json#/parameters/SourceSharePathParameter"
+ },
+ {
+ "$ref": "Disks.json#/parameters/SourceScaleUnitParameter"
+ },
+ {
+ "$ref": "Disks.json#/parameters/SourceVolumeLabelParameter"
+ },
+ {
+ "$ref": "Disks.json#/parameters/DiskCountParameter"
+ },
+ {
+ "$ref": "Disks.json#/parameters/DiskStartParameter"
+ },
+ {
+ "$ref": "Disks.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK -- The list of disks has been returned.",
+ "schema": {
+ "$ref": "Disks.json#/definitions/DiskList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/disks/{diskId}": {
+ "get": {
+ "x-ms-examples": {
+ "Returns the requested disk.": {
+ "$ref": "./examples/Disks/Get.json"
+ }
+ },
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_Get",
+ "description": "Returns the disk.",
+ "parameters": [
+ {
+ "$ref": "Disks.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Disks.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "Disks.json#/parameters/DiskIdParameter"
+ },
+ {
+ "$ref": "Disks.json#/parameters/DiskSizeDetailParameter"
+ },
+ {
+ "$ref": "Disks.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK -- The disk has been returned.",
+ "schema": {
+ "$ref": "Disks.json#/definitions/Disk"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ErrorResponse": {
+ "description": "Error response.",
+ "properties": {
+ "error": {
+ "description": "Error definition.",
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ },
+ "ErrorDefinition": {
+ "description": "Error definition.",
+ "readOnly": true,
+ "required": [
+ "message",
+ "code"
+ ],
+ "properties": {
+ "code": {
+ "description": "Service specific error code which serves as the substatus for the HTTP error code.",
+ "type": "string",
+ "minimum": 100,
+ "maximum": 600
+ },
+ "message": {
+ "description": "Description of the error.",
+ "type": "string"
+ }
+ }
+ },
+ "DiskProperties": {
+ "description": "Managed disk properties.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk id.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The disk status.",
+ "$ref": "Disks.json#/definitions/DiskState"
+ },
+ "sharePath": {
+ "description": "The disk share path.",
+ "type": "string"
+ },
+ "actualSizeGB": {
+ "description": "The actual size of disk in GB.",
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true
+ },
+ "provisionSizeGB": {
+ "description": "The provision size of disk in GB.",
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true
+ },
+ "managedBy": {
+ "description": "Compute resource Uri which owns this disk.",
+ "type": "string",
+ "readOnly": true
+ },
+ "userResourceId": {
+ "description": "The disk resource Uri from user view.",
+ "type": "string",
+ "readOnly": true
+ },
+ "diskType": {
+ "description": "The type of the disk resource.",
+ "$ref": "Disks.json#/definitions/DiskResourceType",
+ "readOnly": true
+ },
+ "diskSku": {
+ "description": "the disk sku.",
+ "$ref": "Disks.json#/definitions/AccountType",
+ "readOnly": true
+ },
+ "creationSourceUri": {
+ "description": "The disk creation source uri.",
+ "type": "string",
+ "readOnly": true
+ },
+ "creationOption": {
+ "description": "The disk creation option.",
+ "$ref": "Disks.json#/definitions/DiskCreationOption",
+ "readOnly": true
+ },
+ "exclusiveAllocatedSize": {
+ "description": "The exclusive allocated size for the disk.",
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true
+ }
+ }
+ },
+ "Disk": {
+ "description": "Managed Disk.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "Disks.json#/definitions/DiskProperties",
+ "description": "Disk properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/definitions/Resource"
+ }
+ ]
+ },
+ "DiskList": {
+ "type": "object",
+ "description": "List of disks.",
+ "properties": {
+ "value": {
+ "description": "List of disks.",
+ "type": "array",
+ "items": {
+ "$ref": "Disks.json#/definitions/Disk"
+ }
+ },
+ "nextLink": {
+ "description": "URI to the next page.",
+ "type": "string"
+ }
+ }
+ },
+ "DiskState": {
+ "description": "Disk State.",
+ "type": "string",
+ "enum": [
+ "Undefined",
+ "Unattached",
+ "Attached",
+ "Reserved",
+ "ActiveSAS",
+ "Unknown",
+ "All",
+ "Recommended",
+ "OfflineMigration",
+ "OnlineMigration"
+ ],
+ "x-ms-enum": {
+ "name": "DiskState",
+ "modelAsString": true
+ }
+ },
+ "DiskResourceType": {
+ "description": "Disk resource type.",
+ "type": "string",
+ "enum": [
+ "Undefined",
+ "Disk",
+ "Snapshot",
+ "RestorePoint",
+ "ManagedBlob"
+ ],
+ "x-ms-enum": {
+ "name": "DiskResourceType",
+ "modelAsString": true
+ }
+ },
+ "AccountType": {
+ "description": "Disk Sku.",
+ "type": "string",
+ "enum": [
+ "Standard_LRS",
+ "Standard_ZRS",
+ "Standard_GRS",
+ "Standard_RAGRS",
+ "Premium_LRS",
+ "StandardSSD_LRS",
+ "UltraSSD_LRS"
+ ],
+ "x-ms-enum": {
+ "name": "AccountType",
+ "modelAsString": true
+ }
+ },
+ "DiskCreationOption": {
+ "description": "Disk creation option.",
+ "type": "string",
+ "enum": [
+ "Empty",
+ "FromImage",
+ "Import",
+ "Copy",
+ "Restore",
+ "FromPreprovisioned",
+ "Undelete",
+ "Upload",
+ "RecoverFromBlob"
+ ],
+ "x-ms-enum": {
+ "name": "DiskCreationOption",
+ "modelAsString": 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"
+ },
+ "LocationParameter": {
+ "description": "Location of the resource.",
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client API Version.",
+ "required": true,
+ "type": "string",
+ "default": "2021-04-01"
+ },
+ "UserSubscriptionIdParameter": {
+ "description": "User Subscription Id which the resource belongs to.",
+ "name": "userSubscriptionId",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "DiskStateParameter": {
+ "description": "The parameters of disk state.",
+ "name": "status",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "SourceSharePathParameter": {
+ "description": "The share which the resource belongs to.",
+ "name": "sharePath",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "SourceScaleUnitParameter": {
+ "description": "The scale unit which the resource belongs to.",
+ "name": "scaleUnit",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "SourceVolumeLabelParameter": {
+ "description": "The volume label of the volume which the resource belongs to.",
+ "name": "volumeLabel",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DiskCountParameter": {
+ "description": "The maximum number of disks to return.",
+ "name": "count",
+ "in": "query",
+ "type": "integer",
+ "format": "int32",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "DiskStartParameter": {
+ "description": "The start index of disks in query.",
+ "name": "start",
+ "in": "query",
+ "type": "integer",
+ "format": "int32",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "DiskIdParameter": {
+ "description": "The disk guid as identity.",
+ "name": "diskId",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "DiskSizeDetailParameter": {
+ "description": "Switch for whether summary or detailed disk size information is returned.",
+ "name": "showSizeDetail",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "x-ms-parameter-location": "method",
+ "default": false
+ }
+ },
+ "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-04-01/examples/DiskMigrationJobs/Cancel.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/examples/DiskMigrationJobs/Cancel.json
new file mode 100644
index 000000000000..7b856e0967ec
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/examples/DiskMigrationJobs/Cancel.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "04666444-56f0-4d4f-afc5-dbd6b134b084",
+ "location": "redmond",
+ "migrationId": "ec9f79cf-e4d7-4d37-926a-e69c2198be8a",
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/diskmigrationjobs/ec9f79cf-e4d7-4d37-926a-e69c2198be8a",
+ "name": "redmond/ec9f79cf-e4d7-4d37-926a-e69c2198be8a",
+ "type": "Microsoft.Compute.Admin/locations/diskmigrationjobs",
+ "location": "redmond",
+ "properties": {
+ "migrationId": "ec9f79cf-e4d7-4d37-926a-e69c2198be8a",
+ "status": "Canceled",
+ "subtasks": [
+ {
+ "migrationSubTaskId": "726dff1c-e765-44c6-b16d-f66f2c28e730",
+ "properties": {
+ "migrationSubtaskStatus": "Canceled",
+ "startTime": "2018-05-17T08:26:54.57146Z",
+ "endTime": "2018-05-17T08:27:35.0559255Z",
+ "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1",
+ "sourceShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_4",
+ "targetDiskStateForMigration": "Unattached",
+ "diskId": "423e4eb4-f791-4d13-ad5b-4d415733b0d6"
+ }
+ },
+ {
+ "migrationSubTaskId": "d6ab496c-4a76-474f-9ee2-9031053f06e8",
+ "properties": {
+ "migrationSubtaskStatus": "Succeeded",
+ "startTime": "2018-05-17T08:27:35.0871773Z",
+ "endTime": "2018-05-17T08:28:15.2842678Z",
+ "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1",
+ "sourceShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_2",
+ "targetDiskStateForMigration": "Unattached",
+ "diskId": "48dc9b56-5883-4011-9dc3-0e527f33e6ab"
+ }
+ }
+ ],
+ "creationTime": "2018-05-17T08:26:54.4777279Z",
+ "startTime": "2018-05-17T08:26:54.5402097Z",
+ "endTime": "0001-01-01T08:00:00Z",
+ "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/examples/DiskMigrationJobs/Create.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/examples/DiskMigrationJobs/Create.json
new file mode 100644
index 000000000000..846f93895812
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/examples/DiskMigrationJobs/Create.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "04666444-56f0-4d4f-afc5-dbd6b134b084",
+ "location": "redmond",
+ "migrationId": "ec9f79cf-e4d7-4d37-926a-e69c2198be8a",
+ "api-version": "2021-04-01",
+ "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1",
+ "disks": [
+ {
+ "location": "redmond",
+ "properties": {
+ "diskId": "423e4eb4-f791-4d13-ad5b-4d415733b0d6",
+ "status": "Unattached",
+ "sharePath": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_4"
+ }
+ },
+ {
+ "location": "redmond",
+ "properties": {
+ "diskId": "48dc9b56-5883-4011-9dc3-0e527f33e6ab",
+ "status": "Unattached",
+ "sharePath": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_2"
+ }
+ }
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/diskmigrationjobs/ec9f79cf-e4d7-4d37-926a-e69c2198be8a",
+ "name": "redmond/ec9f79cf-e4d7-4d37-926a-e69c2198be8a",
+ "type": "Microsoft.Compute.Admin/locations/diskmigrationjobs",
+ "location": "redmond",
+ "properties": {
+ "migrationId": "ec9f79cf-e4d7-4d37-926a-e69c2198be8a",
+ "status": "Pending",
+ "subtasks": [
+ {
+ "migrationSubTaskId": "726dff1c-e765-44c6-b16d-f66f2c28e730",
+ "properties": {
+ "migrationSubtaskStatus": "Pending",
+ "startTime": "0001-01-01T08:00:00Z",
+ "endTime": "0001-01-01T08:00:00Z",
+ "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1",
+ "sourceShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_4",
+ "targetDiskStateForMigration": "Unattached",
+ "diskId": "423e4eb4-f791-4d13-ad5b-4d415733b0d6"
+ }
+ },
+ {
+ "migrationSubTaskId": "d6ab496c-4a76-474f-9ee2-9031053f06e8",
+ "properties": {
+ "migrationSubtaskStatus": "Pending",
+ "startTime": "0001-01-01T08:00:00Z",
+ "endTime": "0001-01-01T08:00:00Z",
+ "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1",
+ "sourceShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_2",
+ "targetDiskStateForMigration": "Unattached",
+ "diskId": "48dc9b56-5883-4011-9dc3-0e527f33e6ab"
+ }
+ }
+ ],
+ "creationTime": "2018-05-17T08:26:54.4777279Z",
+ "startTime": "0001-01-01T08:00:00Z",
+ "endTime": "0001-01-01T08:00:00Z",
+ "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/examples/DiskMigrationJobs/Get.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/examples/DiskMigrationJobs/Get.json
new file mode 100644
index 000000000000..ea906e370aeb
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/examples/DiskMigrationJobs/Get.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "04666444-56f0-4d4f-afc5-dbd6b134b084",
+ "location": "redmond",
+ "migrationId": "ec9f79cf-e4d7-4d37-926a-e69c2198be8a",
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/diskmigrationjobs/ec9f79cf-e4d7-4d37-926a-e69c2198be8a",
+ "name": "redmond/ec9f79cf-e4d7-4d37-926a-e69c2198be8a",
+ "type": "Microsoft.Compute.Admin/locations/diskmigrationjobs",
+ "location": "redmond",
+ "properties": {
+ "migrationId": "ec9f79cf-e4d7-4d37-926a-e69c2198be8a",
+ "status": "Running",
+ "subtasks": [
+ {
+ "migrationSubTaskId": "726dff1c-e765-44c6-b16d-f66f2c28e730",
+ "properties": {
+ "migrationSubtaskStatus": "Succeeded",
+ "startTime": "2018-05-17T08:26:54.57146Z",
+ "endTime": "2018-05-17T08:27:35.0559255Z",
+ "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1",
+ "sourceShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_4",
+ "targetDiskStateForMigration": "Unattached",
+ "diskId": "423e4eb4-f791-4d13-ad5b-4d415733b0d6"
+ }
+ },
+ {
+ "migrationSubTaskId": "d6ab496c-4a76-474f-9ee2-9031053f06e8",
+ "properties": {
+ "migrationSubtaskStatus": "Running",
+ "startTime": "2018-05-17T08:27:35.0871773Z",
+ "endTime": "0001-01-01T08:00:00Z",
+ "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1",
+ "sourceShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_2",
+ "targetDiskStateForMigration": "Unattached",
+ "diskId": "48dc9b56-5883-4011-9dc3-0e527f33e6ab"
+ }
+ }
+ ],
+ "creationTime": "2018-05-17T08:26:54.4777279Z",
+ "startTime": "2018-05-17T08:26:54.5402097Z",
+ "endTime": "0001-01-01T08:00:00Z",
+ "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/examples/DiskMigrationJobs/List.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/examples/DiskMigrationJobs/List.json
new file mode 100644
index 000000000000..63a0dd10ed85
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/examples/DiskMigrationJobs/List.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "subscriptionId": "04666444-56f0-4d4f-afc5-dbd6b134b084",
+ "location": "redmond",
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/diskmigrationjobs/0050e481-63cd-4ad1-9c49-b8cbb992b75e",
+ "name": "redmond/0050e481-63cd-4ad1-9c49-b8cbb992b75e",
+ "type": "Microsoft.Compute.Admin/locations/diskmigrationjobs",
+ "location": "redmond",
+ "properties": {
+ "migrationId": "0050e481-63cd-4ad1-9c49-b8cbb992b75e",
+ "status": "Succeeded",
+ "subtasks": [
+ {
+ "migrationSubTaskId": "607d1e44-48f5-418e-a263-ec60fb35d285",
+ "properties": {
+ "migrationSubtaskStatus": "Succeeded",
+ "startTime": "2018-05-17T09:29:36.1290315Z",
+ "endTime": "2018-05-17T09:30:16.3566829Z",
+ "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_2",
+ "sourceShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_2",
+ "targetDiskStateForMigration": "Unattached",
+ "diskId": "5018f340-c41b-4e82-a553-248431c4df64"
+ }
+ },
+ {
+ "migrationSubTaskId": "cfe7b95e-d45c-4515-af2a-3a889e70559a",
+ "properties": {
+ "migrationSubtaskStatus": "Succeeded",
+ "startTime": "2018-05-17T09:30:16.3723117Z",
+ "endTime": "2018-05-17T09:30:56.5945261Z",
+ "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_2",
+ "sourceShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_4",
+ "targetDiskStateForMigration": "Unattached",
+ "diskId": "4d9c7dd9-50ea-473d-87be-f7a57acd8aae"
+ }
+ }
+ ],
+ "creationTime": "2018-05-17T09:29:36.0351498Z",
+ "startTime": "2018-05-17T09:29:36.0976561Z",
+ "endTime": "2018-05-17T09:31:06.6187954Z",
+ "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_2"
+ }
+ },
+ {
+ "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/diskmigrationjobs/9fbb98b2-fe81-449a-9d71-61bccb0d0489",
+ "name": "redmond/9fbb98b2-fe81-449a-9d71-61bccb0d0489",
+ "type": "Microsoft.Compute.Admin/locations/diskmigrationjobs",
+ "location": "redmond",
+ "properties": {
+ "migrationId": "9fbb98b2-fe81-449a-9d71-61bccb0d0489",
+ "status": "Succeeded",
+ "subtasks": [
+ {
+ "migrationSubTaskId": "5a76680f-3788-492c-9840-ffb4c9f95729",
+ "properties": {
+ "migrationSubtaskStatus": "Succeeded",
+ "startTime": "2018-05-18T02:18:49.1442797Z",
+ "endTime": "2018-05-18T02:19:29.4948624Z",
+ "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_2",
+ "sourceShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1",
+ "targetDiskStateForMigration": "Unattached",
+ "diskId": "48dc9b56-5883-4011-9dc3-0e527f33e6ab"
+ }
+ },
+ {
+ "migrationSubTaskId": "c302a235-9e8c-431d-8a5e-8b1fc984b7ab",
+ "properties": {
+ "migrationSubtaskStatus": "Succeeded",
+ "startTime": "2018-05-18T02:19:29.5104777Z",
+ "endTime": "2018-05-18T02:20:09.7263314Z",
+ "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_2",
+ "sourceShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1",
+ "targetDiskStateForMigration": "Unattached",
+ "diskId": "423e4eb4-f791-4d13-ad5b-4d415733b0d6"
+ }
+ }
+ ],
+ "creationTime": "2018-05-18T02:18:49.0978853Z",
+ "startTime": "2018-05-18T02:18:49.1286583Z",
+ "endTime": "2018-05-18T02:20:19.7823733Z",
+ "targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_2"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/examples/Disks/Get.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/examples/Disks/Get.json
new file mode 100644
index 000000000000..0ff2b0d190d3
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/examples/Disks/Get.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "04666444-56f0-4d4f-afc5-dbd6b134b084",
+ "location": "redmond",
+ "diskId": "423e4eb4-f791-4d13-ad5b-4d415733b0d6",
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/disks/423e4eb4-f791-4d13-ad5b-4d415733b0d6",
+ "name": "redmond/423e4eb4-f791-4d13-ad5b-4d415733b0d6",
+ "type": "Microsoft.Compute.Admin/locations/disks",
+ "location": "redmond",
+ "properties": {
+ "diskId": "423e4eb4-f791-4d13-ad5b-4d415733b0d6",
+ "status": "Unattached",
+ "sharePath": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_4",
+ "actualSizeGB": 183,
+ "provisionSizeGB": 200,
+ "userResourceId": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/DISKRG6ECD14E6/providers/Microsoft.Compute/Disks/diskrptest9vb55sb15w",
+ "diskType": "Disk",
+ "diskSku": "Standard_LRS",
+ "creationSourceUri": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/diskrptest/providers/Microsoft.Compute/disks/testmd01",
+ "creationOption": "Copy",
+ "exclusiveAllocatedSize": 1073741824
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/examples/Disks/List.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/examples/Disks/List.json
new file mode 100644
index 000000000000..77605b095156
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/examples/Disks/List.json
@@ -0,0 +1,143 @@
+{
+ "parameters": {
+ "subscriptionId": "04666444-56f0-4d4f-afc5-dbd6b134b084",
+ "location": "redmond",
+ "api-version": "2021-04-01",
+ "start": 1,
+ "count": 100,
+ "status": "Unattached"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/disks/423e4eb4-f791-4d13-ad5b-4d415733b0d6",
+ "name": "redmond/423e4eb4-f791-4d13-ad5b-4d415733b0d6",
+ "type": "Microsoft.Compute.Admin/locations/disks",
+ "location": "redmond",
+ "properties": {
+ "diskId": "423e4eb4-f791-4d13-ad5b-4d415733b0d6",
+ "status": "Unattached",
+ "sharePath": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_4",
+ "actualSizeGB": 183,
+ "provisionSizeGB": 200,
+ "userResourceId": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/DISKRG6ECD14E6/providers/Microsoft.Compute/Disks/diskrptest9vb55sb15w",
+ "diskType": "Disk",
+ "diskSku": "Standard_LRS",
+ "creationSourceUri": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/diskrptest/providers/Microsoft.Compute/disks/testmd01",
+ "creationOption": "Copy"
+ }
+ },
+ {
+ "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/disks/48dc9b56-5883-4011-9dc3-0e527f33e6ab",
+ "name": "redmond/48dc9b56-5883-4011-9dc3-0e527f33e6ab",
+ "type": "Microsoft.Compute.Admin/locations/disks",
+ "location": "redmond",
+ "properties": {
+ "diskId": "48dc9b56-5883-4011-9dc3-0e527f33e6ab",
+ "status": "Unattached",
+ "sharePath": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_2",
+ "actualSizeGB": 1,
+ "provisionSizeGB": 200,
+ "userResourceId": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/DISKRG6ECD14E6/providers/Microsoft.Compute/Snapshots/diskrptestjrlt133h5g8t",
+ "diskType": "Snapshot",
+ "diskSku": "Standard_LRS",
+ "creationSourceUri": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/diskrptest/providers/Microsoft.Compute/disks/testmd01",
+ "creationOption": "Copy"
+ }
+ },
+ {
+ "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/disks/5018f340-c41b-4e82-a553-248431c4df64",
+ "name": "redmond/5018f340-c41b-4e82-a553-248431c4df64",
+ "type": "Microsoft.Compute.Admin/locations/disks",
+ "location": "redmond",
+ "properties": {
+ "diskId": "5018f340-c41b-4e82-a553-248431c4df64",
+ "status": "Unattached",
+ "sharePath": "",
+ "actualSizeGB": 0,
+ "provisionSizeGB": 200,
+ "userResourceId": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/DISKRG6ECD14E6/providers/Microsoft.Compute/Snapshots/diskrptestlhy3gmrez379",
+ "diskType": "Snapshot",
+ "diskSku": "Standard_LRS",
+ "creationSourceUri": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/diskrptest/providers/Microsoft.Compute/disks/testmd01",
+ "creationOption": "Copy"
+ }
+ },
+ {
+ "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/disks/8b5a40f9-c5d0-4273-a5b2-7ec4be371e30",
+ "name": "redmond/8b5a40f9-c5d0-4273-a5b2-7ec4be371e30",
+ "type": "Microsoft.Compute.Admin/locations/disks",
+ "location": "redmond",
+ "properties": {
+ "diskId": "8b5a40f9-c5d0-4273-a5b2-7ec4be371e30",
+ "status": "Unattached",
+ "sharePath": "",
+ "actualSizeGB": 0,
+ "provisionSizeGB": 200,
+ "userResourceId": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/DISKRG6ECD14E6/providers/Microsoft.Compute/Disks/diskrptest5wnmxirn",
+ "diskType": "Disk",
+ "diskSku": "Standard_LRS",
+ "creationSourceUri": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/diskrptest/providers/Microsoft.Compute/disks/testmd01",
+ "creationOption": "Copy"
+ }
+ },
+ {
+ "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/disks/9664bba5-dcc1-4481-a85d-8a2dfca26c55",
+ "name": "redmond/9664bba5-dcc1-4481-a85d-8a2dfca26c55",
+ "type": "Microsoft.Compute.Admin/locations/disks",
+ "location": "redmond",
+ "properties": {
+ "diskId": "9664bba5-dcc1-4481-a85d-8a2dfca26c55",
+ "status": "Unattached",
+ "sharePath": "",
+ "actualSizeGB": 0,
+ "userResourceId": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/DISKRG6ECD14E6/providers/Microsoft.Compute/Snapshots/diskrptestj32ckp6df9v",
+ "diskType": "Snapshot",
+ "diskSku": "Standard_LRS",
+ "creationSourceUri": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/diskrptest/providers/Microsoft.Compute/disks/testmd01",
+ "creationOption": "Copy"
+ }
+ },
+ {
+ "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/disks/cc79941f-5f42-4ac7-8428-7553f5e47e4b",
+ "name": "redmond/cc79941f-5f42-4ac7-8428-7553f5e47e4b",
+ "type": "Microsoft.Compute.Admin/locations/disks",
+ "location": "redmond",
+ "properties": {
+ "diskId": "cc79941f-5f42-4ac7-8428-7553f5e47e4b",
+ "status": "Unattached",
+ "sharePath": "",
+ "actualSizeGB": 0,
+ "provisionSizeGB": 200,
+ "userResourceId": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/DISKRG6ECD14E6/providers/Microsoft.Compute/Snapshots/diskrptestthml7uzd3hs2",
+ "diskType": "Snapshot",
+ "diskSku": "Standard_LRS",
+ "creationSourceUri": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/diskrptest/providers/Microsoft.Compute/disks/testmd01",
+ "creationOption": "Copy"
+ }
+ },
+ {
+ "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/disks/dfee6038-fc35-4e0f-acd9-597b097a0b52",
+ "name": "redmond/dfee6038-fc35-4e0f-acd9-597b097a0b52",
+ "type": "Microsoft.Compute.Admin/locations/disks",
+ "location": "redmond",
+ "properties": {
+ "diskId": "dfee6038-fc35-4e0f-acd9-597b097a0b52",
+ "status": "Unattached",
+ "sharePath": "",
+ "actualSizeGB": 0,
+ "provisionSizeGB": 200,
+ "userResourceId": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/DISKRG6ECD14E6/providers/Microsoft.Compute/Snapshots/diskrptestn9wefmbaqiu",
+ "diskType": "Snapshot",
+ "diskSku": "Standard_LRS",
+ "creationSourceUri": "/subscriptions/4496690e-348e-4dc0-addc-17395c3966ba/resourceGroups/diskrptest/providers/Microsoft.Compute/disks/testmd01",
+ "creationOption": "Copy"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/compute/readme.azsautogen.md b/specification/azsadmin/resource-manager/compute/readme.azsautogen.md
index 7376b5eb69c3..e37ff2fce66c 100644
--- a/specification/azsadmin/resource-manager/compute/readme.azsautogen.md
+++ b/specification/azsadmin/resource-manager/compute/readme.azsautogen.md
@@ -10,4 +10,6 @@ input-file:
- 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/2021-04-01/Disks.json
+ - Microsoft.Compute.Admin/stable/2021-04-01/DiskMigrationJobs.json
```
diff --git a/specification/azsadmin/resource-manager/compute/readme.md b/specification/azsadmin/resource-manager/compute/readme.md
index 6e2d95dd3738..209e6255a8de 100644
--- a/specification/azsadmin/resource-manager/compute/readme.md
+++ b/specification/azsadmin/resource-manager/compute/readme.md
@@ -17,6 +17,7 @@ To see additional help and options, run:
## Configuration
+
### Basic Information
These are the global settings for the Compute API.
@@ -24,21 +25,23 @@ 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-04-01
```
-### Tag: package-2018-02-09
+### Tag: package-2021-03-30
-These settings apply only when `--tag=package-2018-02-09` is specified on the command line.
+These settings apply only when `--tag=package-2021-04-01` is specified on the command line.
-``` yaml $(tag) == 'package-2018-02-09'
+``` yaml $(tag) == 'package-2021-04-01'
input-file:
- Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json
- Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json
- - Microsoft.Compute.Admin/preview/2018-02-09/Quotas.json
- Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json
- - Microsoft.Compute.Admin/preview/2018-07-30-preview/Disks.json
- - Microsoft.Compute.Admin/preview/2018-07-30-preview/DiskMigrationJobs.json
+ - Microsoft.Compute.Admin/stable/2020-11-01/Features.json
+ - Microsoft.Compute.Admin/stable/2021-01-01/Quotas.json
+ - Microsoft.Compute.Admin/stable/2021-03-30/ScaleUnits.json
+ - Microsoft.Compute.Admin/stable/2021-04-01/Disks.json
+ - Microsoft.Compute.Admin/stable/2021-04-01/DiskMigrationJobs.json
```
---
@@ -64,10 +67,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
+ - Microsoft.Compute.Admin/stable/2021-04-01/Disks.json
+ - Microsoft.Compute.Admin/stable/2021-04-01/DiskMigrationJobs.json
```
## Multi-API/Profile support for AutoRest v3 generators
@@ -88,6 +92,8 @@ input-file:
- $(this-folder)/Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json
- $(this-folder)/Microsoft.Compute.Admin/preview/2018-07-30-preview/Disks.json
- $(this-folder)/Microsoft.Compute.Admin/preview/2018-07-30-preview/DiskMigrationJobs.json
+ - $(this-folder)/Microsoft.Compute.Admin/stable/2021-04-01/Disks.json
+ - $(this-folder)/Microsoft.Compute.Admin/stable/2021-04-01/DiskMigrationJobs.json
```
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/AcquiredPlan.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/AcquiredPlan.json
index 04acfa702958..b13dded3cdc6 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/AcquiredPlan.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/AcquiredPlan.json
@@ -40,6 +40,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -79,6 +85,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -113,6 +125,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK"
},
@@ -150,6 +168,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/DelegatedProvider.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/DelegatedProvider.json
index a9eeb6578fb2..e5cf8a300e4d 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/DelegatedProvider.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/DelegatedProvider.json
@@ -37,6 +37,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -73,6 +79,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/DelegatedProviderOffer.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/DelegatedProviderOffer.json
index 11d3af7323ad..d196362ac6b4 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/DelegatedProviderOffer.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/DelegatedProviderOffer.json
@@ -40,6 +40,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -79,6 +85,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -132,7 +144,8 @@
},
"subscriptionCount": {
"description": "Current subscription count.",
- "type": "integer"
+ "type": "integer",
+ "format": "int32"
}
}
},
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/DirectoryTenant.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/DirectoryTenant.json
index 0c672375780e..4fd33ebd1858 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/DirectoryTenant.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/DirectoryTenant.json
@@ -40,6 +40,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -79,6 +85,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -113,6 +125,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK"
},
@@ -150,6 +168,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Location.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Location.json
index 434d8d0351fb..f562fca58111 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Location.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Location.json
@@ -37,6 +37,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -73,6 +79,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -107,6 +119,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -143,6 +161,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -156,7 +180,8 @@
"description": "Not Content"
},
"404": {
- "description": "Not Found"
+ "description": "Not Found",
+ "x-ms-error-response": true
}
}
}
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Manifest.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Manifest.json
index 7745eb8e3f9b..0686534cfe04 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Manifest.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Manifest.json
@@ -37,6 +37,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -73,6 +79,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -278,7 +290,8 @@
},
"obsoleteBundlesBitmask": {
"description": "The obsolete bundles bitmask.",
- "type": "integer"
+ "type": "integer",
+ "format": "int32"
},
"resourceAccess": {
"description": "The resource access.",
@@ -827,7 +840,8 @@
},
"maxChildResourceConsistencyJobLimit": {
"description": "The next child resource consistency job limit.",
- "type": "integer"
+ "type": "integer",
+ "format": "int32"
}
}
},
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Offer.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Offer.json
index 7bc9a7d831c5..7441a772afb3 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Offer.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Offer.json
@@ -37,6 +37,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -73,6 +79,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -112,6 +124,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -149,6 +167,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"201": {
"description": "Created",
"schema": {
@@ -189,6 +213,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK"
},
@@ -225,6 +255,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -261,6 +297,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -300,6 +342,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -339,6 +387,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -392,11 +446,13 @@
},
"subscriptionCount": {
"description": "Current subscription count.",
- "type": "integer"
+ "type": "integer",
+ "format": "int32"
},
"maxSubscriptionsPerAccount": {
"description": "Maximum subscriptions per account.",
- "type": "integer"
+ "type": "integer",
+ "format": "int32"
},
"basePlanIds": {
"description": "Identifiers of the base plans that become available to the tenant immediately when a tenant subscribes to the offer.",
@@ -454,7 +510,8 @@
},
"maxAcquisitionCount": {
"description": "Maximum number of instances that can be acquired by a single subscription. If not specified, the assumed value is 1.",
- "type": "integer"
+ "type": "integer",
+ "format": "int32"
}
}
},
@@ -489,7 +546,8 @@
},
"maxAcquisitionCount": {
"description": "The maximum acquisition count by subscribers",
- "type": "integer"
+ "type": "integer",
+ "format": "int32"
}
}
},
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/OfferDelegation.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/OfferDelegation.json
index 5835126620fc..e80068449932 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/OfferDelegation.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/OfferDelegation.json
@@ -43,6 +43,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -85,6 +91,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -125,6 +137,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"201": {
"description": "Created",
"schema": {
@@ -168,6 +186,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK"
},
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Plan.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Plan.json
index b07d900df529..03fc51e8a24d 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Plan.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Plan.json
@@ -37,6 +37,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -73,6 +79,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -112,6 +124,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -149,6 +167,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"201": {
"description": "Created",
"schema": {
@@ -189,6 +213,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK"
},
@@ -225,6 +255,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -261,6 +297,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -317,7 +359,8 @@
},
"subscriptionCount": {
"description": "Subscription count.",
- "type": "integer"
+ "type": "integer",
+ "format": "int32"
},
"skuIds": {
"description": "SKU identifiers.",
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Quota.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Quota.json
index d1e97460e3cb..b84e366919a5 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Quota.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Quota.json
@@ -40,6 +40,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -79,6 +85,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Subscriptions.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Subscriptions.json
index 144731619848..ea4e02c98122 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Subscriptions.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Subscriptions.json
@@ -34,6 +34,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -54,7 +60,7 @@
"tags": [
"Subscriptions"
],
- "operationId": "UpdateEncryption",
+ "operationId": "Subscriptions_UpdateEncryption",
"parameters": [
{
"$ref": "#/parameters/SubscriptionIdParameter"
@@ -64,6 +70,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK"
}
@@ -81,7 +93,7 @@
"tags": [
"Subscriptions"
],
- "operationId": "RestoreData",
+ "operationId": "Subscriptions_RestoreData",
"parameters": [
{
"$ref": "#/parameters/SubscriptionIdParameter"
@@ -91,6 +103,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -111,7 +129,7 @@
"tags": [
"Subscriptions"
],
- "operationId": "CheckIdentityHealth",
+ "operationId": "Subscriptions_CheckIdentityHealth",
"parameters": [
{
"$ref": "#/parameters/SubscriptionIdParameter"
@@ -121,6 +139,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -157,6 +181,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"204": {
"description": "No Content -- The subscriptions were successfully moved to the target delegated provider offer."
},
@@ -194,6 +224,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"204": {
"description": "No Content -- The subscriptions can be moved to the target delegated provider offer."
},
@@ -228,6 +264,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -265,6 +307,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -298,6 +346,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK",
"schema": {
@@ -332,6 +386,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"201": {
"description": "Created",
"schema": {
@@ -369,6 +429,12 @@
}
],
"responses": {
+ "default": {
+ "description": "Unexpected Error",
+ "schema": {
+ "$ref": "Subscriptions.json#/definitions/Error"
+ }
+ },
"200": {
"description": "OK"
},
@@ -414,35 +480,78 @@
},
"x-ms-azure-resource": true
},
+ "Error": {
+ "type": "object",
+ "description": "Error response.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorDefinition",
+ "description": "The error details."
+ }
+ }
+ },
+ "ErrorDefinition": {
+ "type": "object",
+ "description": "Error definition.",
+ "properties": {
+ "code": {
+ "description": "Service specific error code which serves as the substatus for the HTTP error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Description of the error.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "Internal error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDefinition"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "Display": {
+ "description": "Contains the localized display information for this particular operation / action.",
+ "properties": {
+ "provider": {
+ "description": "The localized friendly form of the resource provider name – it is expected to also include the publisher/company responsible. It should use Title Casing and begin with \"Microsoft\" for 1st party services. e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute.\"",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "The localized, friendly version of the resource type related to this action or operation; the resource type should match the public documentation for the resource provider.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "The localized, friendly name for the operation. Use the name as it will displayed to the user.",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "The localized, friendly description for the operation. The description will be displayed to the user. It should be thorough and concise for used in both tooltips and detailed views.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
"Operation": {
"description": "Supported REST operation.",
"type": "object",
"properties": {
"display": {
"description": "Display information for the operation.",
- "type": "object",
- "properties": {
- "description": {
- "description": "Description for the operation.",
- "type": "string",
- "readOnly": true
- },
- "operation": {
- "description": "Display name of the operation.",
- "type": "string",
- "readOnly": true
- },
- "provider": {
- "description": "Resource provider display name.",
- "type": "string",
- "readOnly": true
- },
- "resource": {
- "description": "Resource type display name related to the operation.",
- "type": "string",
- "readOnly": true
- }
- }
+ "$ref": "#/definitions/Display",
+ "readOnly": true
+ },
+ "isDataAction": {
+ "description": "Whether the operation applies to data-plane. This is \"true\" for data-plane operations and \"false\" for ARM/control-plane operations.",
+ "type": "boolean",
+ "readOnly": true
},
"name": {
"description": "Name of the operation being performed on an object.",
@@ -811,7 +920,8 @@
"description": "Directory tenant identifier.",
"type": "string"
}
- }
+ },
+ "x-ms-azure-resource": true
},
"SubscriptionList": {
"description": "List of subscriptions.",
@@ -990,7 +1100,8 @@
},
"count": {
"description": "Number of measurements for metric sample period.",
- "type": "integer"
+ "type": "integer",
+ "format": "int32"
},
"properties": {
"x-ms-client-name": "extendedProperties",
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/AcquiredPlan/Create.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/AcquiredPlan/Create.json
index 09af66ca6cf8..faf9a37f4911 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/AcquiredPlan/Create.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/AcquiredPlan/Create.json
@@ -6,11 +6,9 @@
"targetSubscriptionId": "8158498d-27b1-4ccf-9aa1-de0f925731e6",
"planAcquisitionId": "718c7f7c-4868-479a-98ce-5caaa8f158c8",
"acquiredPlanDefinition": {
- "properties": {
- "acquisitionId": "718c7f7c-4868-479a-98ce-5caaa8f158c8",
- "id": "/subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Subscriptions/subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/acquiredPlans/718c7f7c-4868-479a-98ce-5caaa8f158c8",
- "planId": "/subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Subscriptions/plans/balaplan"
- }
+ "acquisitionId": "718c7f7c-4868-479a-98ce-5caaa8f158c8",
+ "id": "/subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Subscriptions/subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/acquiredPlans/718c7f7c-4868-479a-98ce-5caaa8f158c8",
+ "planId": "/subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Subscriptions/plans/balaplan"
}
},
"responses": {
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/DirectoryTenant/Create.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/DirectoryTenant/Create.json
index 89ba4e050b7c..3bc372838c80 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/DirectoryTenant/Create.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/DirectoryTenant/Create.json
@@ -4,7 +4,11 @@
"location": "local",
"api-version": "2015-11-01",
"tenant": "azurestackci05.onmicrosoft.in",
- "tenantDefinition": "eb90516e-65d7-4bf6-8537-8322e9172832",
+ "tenantDefinition": {
+ "properties": {
+ "tenantId": "eb90516e-65d7-4bf6-8537-8322e9172832"
+ }
+ },
"resourceGroupName": "system.local"
},
"responses": {
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Offer/Link.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Offer/Link.json
index ab0c8034d565..e86bc763c83f 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Offer/Link.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Offer/Link.json
@@ -6,10 +6,8 @@
"offer": "sampleoffer1",
"resourceGroupName": "RG1",
"planLink": {
- "properties": {
- "planName": "sampleplan1",
- "planLinkType": "Addon"
- }
+ "planName": "sampleplan1",
+ "planLinkType": "Addon"
}
},
"responses": {
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Offer/Unlink.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Offer/Unlink.json
index 65bb4749f2b6..3a3de0b91bfc 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Offer/Unlink.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Offer/Unlink.json
@@ -6,10 +6,8 @@
"offer": "sampleoffer1",
"resourceGroupName": "RG1",
"planLink": {
- "properties": {
- "planName": "SamplePlan",
- "planLinkType": "Addon"
- }
+ "planName": "SamplePlan",
+ "planLinkType": "Addon"
}
},
"responses": {
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/OfferDelegation/Create.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/OfferDelegation/Create.json
index 7efb2b09b1e1..5ad01f1cee1e 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/OfferDelegation/Create.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/OfferDelegation/Create.json
@@ -6,7 +6,11 @@
"resourceGroupName": "cnur9852subscrrg374",
"offer": "cnur9852tenantoffer374",
"offerDelegationName": "testOfferDelegation",
- "offerDelegationDefinition": "newDelegationName"
+ "offerDelegationDefinition": {
+ "properties": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23"
+ }
+ }
},
"responses": {
"200": {
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Subscriptions/CheckNameAvailability.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Subscriptions/CheckNameAvailability.json
index 418132807c68..3017713eb279 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Subscriptions/CheckNameAvailability.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Subscriptions/CheckNameAvailability.json
@@ -5,10 +5,8 @@
"api-version": "2015-11-01",
"name": "subname",
"nameAvailabilityDefinition": {
- "properties": {
- "name": "subname",
- "resourceType": "type"
- }
+ "name": "subname",
+ "resourceType": "type"
}
},
"responses": {
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Subscriptions/Create.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Subscriptions/Create.json
index f41b199e3eeb..7399b850fb03 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Subscriptions/Create.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Subscriptions/Create.json
@@ -6,15 +6,13 @@
"api-version": "2015-11-01",
"subscription": "test",
"subscriptionDefinition": {
- "properties": {
- "delegatedProviderSubscriptionId": "d16dfcf0-44cc-4498-9937-08b94159d27b",
- "displayName": "Test Subscription",
- "id": "/subscriptions/d16dfcf0-44cc-4498-9937-08b94159d27b/providers/Microsoft.Subscriptions.Admin/subscriptions/c79389af-4480-48cc-8fa2-ee8ced8e843d",
- "offerId": "/subscriptions/d16dfcf0-44cc-4498-9937-08b94159d27b/resourceGroups/planrg/providers/Microsoft.Subscriptions.Admin/offers/testoffer",
- "owner": "tenantadmin1@msazurestack.onmicrosoft.com",
- "routingResourceManagerType": "Default",
- "state": "Enabled"
- }
+ "delegatedProviderSubscriptionId": "d16dfcf0-44cc-4498-9937-08b94159d27b",
+ "displayName": "Test Subscription",
+ "id": "/subscriptions/d16dfcf0-44cc-4498-9937-08b94159d27b/providers/Microsoft.Subscriptions.Admin/subscriptions/c79389af-4480-48cc-8fa2-ee8ced8e843d",
+ "offerId": "/subscriptions/d16dfcf0-44cc-4498-9937-08b94159d27b/resourceGroups/planrg/providers/Microsoft.Subscriptions.Admin/offers/testoffer",
+ "owner": "tenantadmin1@msazurestack.onmicrosoft.com",
+ "routingResourceManagerType": "Default",
+ "state": "Enabled"
}
},
"responses": {
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Subscriptions/MoveSubscriptionsToDefaultProvider.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Subscriptions/MoveSubscriptionsToDefaultProvider.json
index 5e09aaad2bc0..6a37a44de4d8 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Subscriptions/MoveSubscriptionsToDefaultProvider.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Subscriptions/MoveSubscriptionsToDefaultProvider.json
@@ -3,13 +3,11 @@
"subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
"api-version": "2015-11-01",
"moveSubscriptionsDefinition": {
- "properties": {
- "targetDelegatedProviderOffer": null,
- "resources": [
- "/subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Subscriptions.Admin/subscriptions/5144634d-7e4d-443b-a304-d27e44220fc6",
- "/subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Subscriptions.Admin/subscriptions/55049d1c-9727-4f79-95b6-50d1f3ee2b28"
- ]
- }
+ "targetDelegatedProviderOffer": null,
+ "resources": [
+ "/subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Subscriptions.Admin/subscriptions/5144634d-7e4d-443b-a304-d27e44220fc6",
+ "/subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Subscriptions.Admin/subscriptions/55049d1c-9727-4f79-95b6-50d1f3ee2b28"
+ ]
}
},
"responses": {
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Subscriptions/MoveSubscriptionsToDelegatedProvider.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Subscriptions/MoveSubscriptionsToDelegatedProvider.json
index e3f47f51a33a..9e350aae7bed 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Subscriptions/MoveSubscriptionsToDelegatedProvider.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Subscriptions/MoveSubscriptionsToDelegatedProvider.json
@@ -3,13 +3,11 @@
"subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
"api-version": "2015-11-01",
"moveSubscriptionsDefinition": {
- "properties": {
- "targetDelegatedProviderOffer": "/subscriptions/36a6bf33-6df4-4acd-a30e-7b92c1c7b322/providers/Microsoft.Subscriptions.Admin/delegatedProviders/8bb14c82-7b09-40f4-ade3-e5c71308cfcd/offers/del1",
- "resources": [
- "/subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Subscriptions.Admin/subscriptions/5144634d-7e4d-443b-a304-d27e44220fc6",
- "/subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Subscriptions.Admin/subscriptions/55049d1c-9727-4f79-95b6-50d1f3ee2b28"
- ]
- }
+ "targetDelegatedProviderOffer": "/subscriptions/36a6bf33-6df4-4acd-a30e-7b92c1c7b322/providers/Microsoft.Subscriptions.Admin/delegatedProviders/8bb14c82-7b09-40f4-ade3-e5c71308cfcd/offers/del1",
+ "resources": [
+ "/subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Subscriptions.Admin/subscriptions/5144634d-7e4d-443b-a304-d27e44220fc6",
+ "/subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Subscriptions.Admin/subscriptions/55049d1c-9727-4f79-95b6-50d1f3ee2b28"
+ ]
}
},
"responses": {
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Subscriptions/ValidateMoveSubscriptionsToDefaultProvider.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Subscriptions/ValidateMoveSubscriptionsToDefaultProvider.json
index 5e09aaad2bc0..6a37a44de4d8 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Subscriptions/ValidateMoveSubscriptionsToDefaultProvider.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Subscriptions/ValidateMoveSubscriptionsToDefaultProvider.json
@@ -3,13 +3,11 @@
"subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
"api-version": "2015-11-01",
"moveSubscriptionsDefinition": {
- "properties": {
- "targetDelegatedProviderOffer": null,
- "resources": [
- "/subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Subscriptions.Admin/subscriptions/5144634d-7e4d-443b-a304-d27e44220fc6",
- "/subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Subscriptions.Admin/subscriptions/55049d1c-9727-4f79-95b6-50d1f3ee2b28"
- ]
- }
+ "targetDelegatedProviderOffer": null,
+ "resources": [
+ "/subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Subscriptions.Admin/subscriptions/5144634d-7e4d-443b-a304-d27e44220fc6",
+ "/subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Subscriptions.Admin/subscriptions/55049d1c-9727-4f79-95b6-50d1f3ee2b28"
+ ]
}
},
"responses": {
diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Subscriptions/ValidateMoveSubscriptionsToDelegatedProvider.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Subscriptions/ValidateMoveSubscriptionsToDelegatedProvider.json
index e3f47f51a33a..9e350aae7bed 100644
--- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Subscriptions/ValidateMoveSubscriptionsToDelegatedProvider.json
+++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/examples/Subscriptions/ValidateMoveSubscriptionsToDelegatedProvider.json
@@ -3,13 +3,11 @@
"subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
"api-version": "2015-11-01",
"moveSubscriptionsDefinition": {
- "properties": {
- "targetDelegatedProviderOffer": "/subscriptions/36a6bf33-6df4-4acd-a30e-7b92c1c7b322/providers/Microsoft.Subscriptions.Admin/delegatedProviders/8bb14c82-7b09-40f4-ade3-e5c71308cfcd/offers/del1",
- "resources": [
- "/subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Subscriptions.Admin/subscriptions/5144634d-7e4d-443b-a304-d27e44220fc6",
- "/subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Subscriptions.Admin/subscriptions/55049d1c-9727-4f79-95b6-50d1f3ee2b28"
- ]
- }
+ "targetDelegatedProviderOffer": "/subscriptions/36a6bf33-6df4-4acd-a30e-7b92c1c7b322/providers/Microsoft.Subscriptions.Admin/delegatedProviders/8bb14c82-7b09-40f4-ade3-e5c71308cfcd/offers/del1",
+ "resources": [
+ "/subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Subscriptions.Admin/subscriptions/5144634d-7e4d-443b-a304-d27e44220fc6",
+ "/subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Subscriptions.Admin/subscriptions/55049d1c-9727-4f79-95b6-50d1f3ee2b28"
+ ]
}
},
"responses": {
diff --git a/specification/azsadmin/resource-manager/subscriptions/readme.md b/specification/azsadmin/resource-manager/subscriptions/readme.md
index 4909aff7c0fd..2a61441dfc61 100644
--- a/specification/azsadmin/resource-manager/subscriptions/readme.md
+++ b/specification/azsadmin/resource-manager/subscriptions/readme.md
@@ -2,7 +2,8 @@
> see https://aka.ms/autorest
-This is the AutoRest configuration file for Subscriptions Admin.
+This is the AutoRest configuration file for Subscriptions Admin. We do not ship any language SDKs for AzureStack Administrator APIs and these APIs do not exist in azure.
+
---
## Getting Started
@@ -105,12 +106,6 @@ csharp:
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
-# include the azure profile definitions from the standard location
-require: $(this-folder)/../../../../profiles/readme.md
-
# all the input files across all versions
input-file:
- $(this-folder)/Microsoft.Subscriptions.Admin/preview/2015-11-01/Subscriptions.json
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.azureresourceschema.md b/specification/azure-kusto/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index 46ee42dcd92b..000000000000
--- a/specification/azure-kusto/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,108 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-kusto-2020-09-18
- - tag: schema-kusto-2020-06-14
- - tag: schema-kusto-2020-02-15
- - tag: schema-kusto-2019-11-09
- - tag: schema-kusto-2019-09-07
- - tag: schema-kusto-2019-05-15
- - tag: schema-kusto-2019-01-21
- - tag: schema-kusto-2018-09-07-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-kusto-2020-09-18 and azureresourceschema
-
-``` yaml $(tag) == 'schema-kusto-2020-09-18' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Kusto/stable/2020-09-18/kusto.json
-
-```
-
-### Tag: schema-kusto-2020-06-14 and azureresourceschema
-
-``` yaml $(tag) == 'schema-kusto-2020-06-14' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Kusto/stable/2020-06-14/kusto.json
-
-```
-
-### Tag: schema-kusto-2020-02-15 and azureresourceschema
-
-``` yaml $(tag) == 'schema-kusto-2020-02-15' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Kusto/stable/2020-02-15/kusto.json
-
-```
-
-### Tag: schema-kusto-2019-11-09 and azureresourceschema
-
-``` yaml $(tag) == 'schema-kusto-2019-11-09' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Kusto/stable/2019-11-09/kusto.json
-
-```
-
-### Tag: schema-kusto-2019-09-07 and azureresourceschema
-
-``` yaml $(tag) == 'schema-kusto-2019-09-07' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Kusto/stable/2019-09-07/kusto.json
-
-```
-
-### Tag: schema-kusto-2019-05-15 and azureresourceschema
-
-``` yaml $(tag) == 'schema-kusto-2019-05-15' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Kusto/stable/2019-05-15/kusto.json
-
-```
-
-### Tag: schema-kusto-2019-01-21 and azureresourceschema
-
-``` yaml $(tag) == 'schema-kusto-2019-01-21' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Kusto/stable/2019-01-21/kusto.json
-
-```
-
-### Tag: schema-kusto-2018-09-07-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-kusto-2018-09-07-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Kusto/preview/2018-09-07-preview/kusto.json
-
-```
diff --git a/specification/azure-kusto/resource-manager/readme.go.md b/specification/azure-kusto/resource-manager/readme.go.md
index 53a36056359e..54358207664f 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
```
@@ -13,6 +13,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-01
- tag: package-2020-09-18
- tag: package-2018-09-07-preview
- tag: package-2019-01-21
@@ -22,6 +23,14 @@ batch:
- tag: package-2020-02-15
- tag: package-2020-06-14
```
+### 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/$(namespace)/mgmt/2021-01-01/$(namespace)
+```
### Tag: package-2020-09-18 and go
diff --git a/specification/azure-kusto/resource-manager/readme.md b/specification/azure-kusto/resource-manager/readme.md
index c02cb62ac581..3df94ea80244 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.
@@ -185,8 +194,6 @@ swagger-to-sdk:
- repo: azure-sdk-for-java
- repo: azure-cli-extensions
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js azure-kusto/resource-manager
```
## C#
@@ -207,9 +214,7 @@ csharp:
See configuration in [readme.java.md](./readme.java.md)
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
## Suppression
diff --git a/specification/azureactivedirectory/resource-manager/readme.azureresourceschema.md b/specification/azureactivedirectory/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index b6bab336b329..000000000000
--- a/specification/azureactivedirectory/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,49 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-aadiam-2020-07-01-preview
- - tag: schema-aadiam-2020-03-01-preview
- - tag: schema-aadiam-2017-04-01
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-aadiam-2020-07-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-aadiam-2020-07-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Aadiam/preview/2020-07-01-preview/azureADMetrics.json
-
-```
-
-### Tag: schema-aadiam-2020-03-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-aadiam-2020-03-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkForAzureAD.json
- - Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkResources.json
-
-```
-
-### Tag: schema-aadiam-2017-04-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-aadiam-2017-04-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Aadiam/stable/2017-04-01/azureactivedirectory.json
-
-```
diff --git a/specification/azureactivedirectory/resource-manager/readme.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/azureactivedirectory/resource-manager/readme.md b/specification/azureactivedirectory/resource-manager/readme.md
index b84ecea4a6f7..d9d75520edba 100644
--- a/specification/azureactivedirectory/resource-manager/readme.md
+++ b/specification/azureactivedirectory/resource-manager/readme.md
@@ -96,8 +96,6 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_azureactivedirectory']
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js azureactivedirectory/resource-manager
```
## Go
@@ -120,7 +118,5 @@ See configuration in [readme.typescript.md](./readme.typescript.md)
See configuration in [readme.csharp.md](./readme.csharp.md)
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/azuredata/resource-manager/readme.azureresourceschema.md b/specification/azuredata/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index 9e9e3a071f7d..000000000000
--- a/specification/azuredata/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,24 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-azuredata-2019-07-24-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-azuredata-2019-07-24-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-azuredata-2019-07-24-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json
-
-```
diff --git a/specification/azuredata/resource-manager/readme.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/azuredata/resource-manager/readme.md b/specification/azuredata/resource-manager/readme.md
index c2582d6cd618..197ce3a68cca 100644
--- a/specification/azuredata/resource-manager/readme.md
+++ b/specification/azuredata/resource-manager/readme.md
@@ -66,8 +66,6 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_azuredata']
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js azuredata/resource-manager
```
## Go
@@ -90,7 +88,5 @@ See configuration in [readme.typescript.md](./readme.typescript.md)
See configuration in [readme.csharp.md](./readme.csharp.md)
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/azurestack/resource-manager/readme.azureresourceschema.md b/specification/azurestack/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index 9ea18acc5c17..000000000000
--- a/specification/azurestack/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,57 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-azurestack-2020-06-01-preview
- - tag: schema-azurestack-2017-06-01
- - tag: schema-azurestack-2016-01-01
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-azurestack-2020-06-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-azurestack-2020-06-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AzureStack/preview/2020-06-01-preview/AzureStack.json
- - Microsoft.AzureStack/preview/2020-06-01-preview/CustomerSubscription.json
- - Microsoft.AzureStack/preview/2020-06-01-preview/Product.json
- - Microsoft.AzureStack/preview/2020-06-01-preview/Registration.json
- - Microsoft.AzureStack/preview/2020-06-01-preview/LinkedSubscription.json
-
-```
-
-### Tag: schema-azurestack-2017-06-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-azurestack-2017-06-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AzureStack/stable/2017-06-01/AzureStack.json
- - Microsoft.AzureStack/stable/2017-06-01/Product.json
- - Microsoft.AzureStack/stable/2017-06-01/Registration.json
- - Microsoft.AzureStack/stable/2017-06-01/CustomerSubscription.json
-
-```
-
-### Tag: schema-azurestack-2016-01-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-azurestack-2016-01-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AzureStack/stable/2016-01-01/AzureStack.json
- - Microsoft.AzureStack/stable/2016-01-01/Product.json
- - Microsoft.AzureStack/stable/2016-01-01/Registration.json
-
-```
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..1a330200bcbd 100644
--- a/specification/azurestack/resource-manager/readme.md
+++ b/specification/azurestack/resource-manager/readme.md
@@ -97,13 +97,12 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-python
+ - repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js azurestack/resource-manager
```
## C#
@@ -164,6 +163,4 @@ generate-interface: true
See configuration in [readme.python.md](./readme.python.md)
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
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.azureresourceschema.md b/specification/azurestackhci/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index 0997ca43ee8d..000000000000
--- a/specification/azurestackhci/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,36 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-azurestackhci-2020-10-01
- - tag: schema-azurestackhci-2020-03-01-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-azurestackhci-2020-10-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-azurestackhci-2020-10-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AzureStackHCI/stable/2020-10-01/azurestackhci.json
-
-```
-
-### Tag: schema-azurestackhci-2020-03-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-azurestackhci-2020-03-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.json
-
-```
diff --git a/specification/azurestackhci/resource-manager/readme.go.md b/specification/azurestackhci/resource-manager/readme.go.md
index 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/azurestackhci/resource-manager/readme.md b/specification/azurestackhci/resource-manager/readme.md
index a11a60730b25..db260de2b2ec 100644
--- a/specification/azurestackhci/resource-manager/readme.md
+++ b/specification/azurestackhci/resource-manager/readme.md
@@ -70,7 +70,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
@@ -78,8 +78,6 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_azurestackhci']
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js azurestackhci/resource-manager
```
## Go
@@ -106,6 +104,4 @@ See configuration in [readme.typescript.md](./readme.typescript.md)
See configuration in [readme.csharp.md](./readme.csharp.md)
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/azurestackhci/resource-manager/readme.python.md b/specification/azurestackhci/resource-manager/readme.python.md
index af60fd690f3c..60ef8a5dcc18 100644
--- a/specification/azurestackhci/resource-manager/readme.python.md
+++ b/specification/azurestackhci/resource-manager/readme.python.md
@@ -3,24 +3,19 @@
These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-```yaml $(python)
-python-mode: create
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- namespace: azure.mgmt.azurestackhci
- package-name: azure-mgmt-azurestackhci
- package-version: 1.0.0rc1
- clear-output-folder: true
+```yaml $(python) && $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+package-name: azure-mgmt-azurestackhci
+no-namespace-folders: true
+package-version: 1.0.0b1
+clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/azurestackhci/azure-mgmt-azurestackhci/azure/mgmt/azurestackhci
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/azurestackhci/azure-mgmt-azurestackhci/azure/mgmt/azurestackhci
```
-``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/azurestackhci/azure-mgmt-azurestackhci
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/azurestackhci/azure-mgmt-azurestackhci
```
diff --git a/specification/baremetalinfrastructure/resource-manager/readme.azureresourceschema.md b/specification/baremetalinfrastructure/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index 0228f0a806a3..000000000000
--- a/specification/baremetalinfrastructure/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,24 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-baremetalinfrastructure-2020-08-06-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-baremetalinfrastructure-2020-08-06-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-baremetalinfrastructure-2020-08-06-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/baremetalinfrastructure.json
-
-```
diff --git a/specification/baremetalinfrastructure/resource-manager/readme.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/Microsoft.Batch/stable/2020-09-01.12.0/BatchService.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/BatchService.json
index 2e43550bd55e..4319673b393b 100644
--- a/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/BatchService.json
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/BatchService.json
@@ -7679,7 +7679,7 @@
}
},
"summary": "Removes Compute Nodes from the specified Pool.",
- "description": "This operation can only run when the allocation state of the Pool is steady. When this operation runs, the allocation state changes from steady to resizing.",
+ "description": "This operation can only run when the allocation state of the Pool is steady. When this operation runs, the allocation state changes from steady to resizing. Each request may remove up to 100 nodes.",
"x-ms-request-id": "request-id",
"parameters": [
{
@@ -15862,7 +15862,8 @@
"items": {
"type": "string"
},
- "title": "A list containing the IDs of the Compute Nodes to be removed from the specified Pool."
+ "title": "A list containing the IDs of the Compute Nodes to be removed from the specified Pool.",
+ "description": "A maximum of 100 nodes may be removed per request."
},
"resizeTimeout": {
"type": "string",
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/data-plane/readme.md b/specification/batch/data-plane/readme.md
index d3d4c786623f..e5301ce18278 100644
--- a/specification/batch/data-plane/readme.md
+++ b/specification/batch/data-plane/readme.md
@@ -4,10 +4,10 @@
This is the AutoRest configuration file for Batch.
-
-
---
+
## Getting Started
+
To build the SDK for Batch, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
> `autorest`
@@ -15,13 +15,13 @@ To build the SDK for Batch, simply [Install AutoRest](https://aka.ms/autorest/in
To see additional help and options, run:
> `autorest --help`
+
---
## Configuration
-
-
### Basic Information
+
These are the global settings for the Batch API.
``` yaml
@@ -113,6 +113,7 @@ input-file:
## Suppression
Note that this setting should be removed once [this GitHub bug](https://github.com/Azure/azure-openapi-validator/issues/68) is fixed.
+
``` yaml
directive:
- suppress: R2063
@@ -121,6 +122,7 @@ directive:
```
Note that this setting should be removed once [this GitHub bug](https://github.com/Azure/azure-openapi-validator/issues/69) is fixed.
+
``` yaml
directive:
- suppress: R2064
@@ -216,6 +218,20 @@ directive:
reason: The suggested casing of this property is worse than the casing that we're using
```
+``` yaml
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ where: $.definitions.ImageInformation.properties.nodeAgentSKUId
+ from: BatchService.json
+ reason: Changing the casing of this property would be a breaking change
+```
+
+``` yaml
+ - suppress: AvoidNestedProperties
+ where: $.definitions.NodeFile.properties.properties
+ from: BatchService.json
+ reason: Switching to x-ms-client-flatten would be a breaking change to the SDKs
+```
+
### Tag: package-2017-05.5.0
These settings apply only when `--tag=package-2017-05.5.0` is specified on the command line.
@@ -225,7 +241,6 @@ input-file:
- Microsoft.Batch/stable/2017-05-01.5.0/BatchService.json
```
-
### Tag: package-2017-01.4.0
These settings apply only when `--tag=package-2017-01.4.0` is specified on the command line.
@@ -262,10 +277,9 @@ input-file:
- Microsoft.Batch/stable/2015-12-01.2.2/BatchService.json
```
-
---
-# Code Generation
+# Code Generation
## Swagger to SDK
@@ -311,11 +325,13 @@ python:
package-name: azure-batch
clear-output-folder: true
```
+
``` yaml $(python) && $(python-mode) == 'update'
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/azure-batch/azure/batch
```
+
``` yaml $(python) && $(python-mode) == 'create'
python:
basic-setup-py: true
@@ -357,7 +373,7 @@ java:
output-folder: $(azure-libraries-for-java-folder)/azure-batch
```
-## 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.
@@ -386,11 +402,10 @@ input-file:
```
-If there are files that should not be in the `all-api-versions` set,
+If there are files that should not be in the `all-api-versions` set,
uncomment the `exclude-file` section below and add the file paths.
``` yaml $(tag) == 'all-api-versions'
#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
-
diff --git a/specification/batch/resource-manager/readme.azureresourceschema.md b/specification/batch/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index 5cbf338ceb18..000000000000
--- a/specification/batch/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,144 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-batch-2021-01-01
- - tag: schema-batch-2020-09-01
- - tag: schema-batch-2020-05-01
- - tag: schema-batch-2020-03-01
- - tag: schema-batch-2019-08-01
- - tag: schema-batch-2019-04-01
- - tag: schema-batch-2018-12-01
- - tag: schema-batch-2017-09-01
- - tag: schema-batch-2017-05-01
- - tag: schema-batch-2017-01-01
- - tag: schema-batch-2015-12-01
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-batch-2021-01-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-batch-2021-01-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Batch/stable/2021-01-01/BatchManagement.json
-
-```
-
-### Tag: schema-batch-2020-09-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-batch-2020-09-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Batch/stable/2020-09-01/BatchManagement.json
-
-```
-
-### Tag: schema-batch-2020-05-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-batch-2020-05-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Batch/stable/2020-05-01/BatchManagement.json
-
-```
-
-### Tag: schema-batch-2020-03-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-batch-2020-03-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Batch/stable/2020-03-01/BatchManagement.json
-
-```
-
-### Tag: schema-batch-2019-08-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-batch-2019-08-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Batch/stable/2019-08-01/BatchManagement.json
-
-```
-
-### Tag: schema-batch-2019-04-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-batch-2019-04-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Batch/stable/2019-04-01/BatchManagement.json
-
-```
-
-### Tag: schema-batch-2018-12-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-batch-2018-12-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Batch/stable/2018-12-01/BatchManagement.json
-
-```
-
-### Tag: schema-batch-2017-09-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-batch-2017-09-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Batch/stable/2017-09-01/BatchManagement.json
-
-```
-
-### Tag: schema-batch-2017-05-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-batch-2017-05-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Batch/stable/2017-05-01/BatchManagement.json
-
-```
-
-### Tag: schema-batch-2017-01-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-batch-2017-01-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Batch/stable/2017-01-01/BatchManagement.json
-
-```
-
-### Tag: schema-batch-2015-12-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-batch-2015-12-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Batch/stable/2015-12-01/BatchManagement.json
-
-```
diff --git a/specification/batch/resource-manager/readme.go.md b/specification/batch/resource-manager/readme.go.md
index 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/batch/resource-manager/readme.md b/specification/batch/resource-manager/readme.md
index 998011198f19..6f8b4e786064 100644
--- a/specification/batch/resource-manager/readme.md
+++ b/specification/batch/resource-manager/readme.md
@@ -187,8 +187,6 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_batch']
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js batch/resource-manager
```
## C#
@@ -289,7 +287,5 @@ generate-interface: true
`
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/BatchAI.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/BatchAI.json
index 413ea519953c..2d368c2751f1 100644
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/BatchAI.json
+++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/BatchAI.json
@@ -997,96 +997,6 @@
"$ref": "./examples/PutFileServer.json"
}
}
- },
- "delete": {
- "tags": [
- "FileServer"
- ],
- "operationId": "FileServers_Delete",
- "description": "Deletes a File Server.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "$ref": "#/parameters/FileServerNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful."
- },
- "202": {
- "description": "The operation will be completed asynchronously."
- },
- "204": {
- "description": "No content."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-examples": {
- "Delete a file server": {
- "$ref": "./examples/DeleteFileServer.json"
- }
- }
- },
- "get": {
- "tags": [
- "FileServer"
- ],
- "operationId": "FileServers_Get",
- "description": "Gets information about a File Server.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "$ref": "#/parameters/FileServerNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains information about the FileServer.",
- "schema": {
- "$ref": "#/definitions/FileServer"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-examples": {
- "Get a file server's information": {
- "$ref": "./examples/GetFileServer.json"
- }
- }
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/fileServers": {
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteFileServer.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteFileServer.json
deleted file mode 100644
index 741481e08307..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteFileServer.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "workspaceName": "demo_workspace",
- "fileServerName": "demo_nfs",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-05-01"
- },
- "responses": {
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-05-01",
- "Retry-After": 15
- }
- },
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetCluster.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetCluster.json
index bd49ded30a3d..2f6ebeb7d966 100644
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetCluster.json
+++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetCluster.json
@@ -56,15 +56,6 @@
"fileMode": "0777",
"directoryMode": "0777"
}
- ],
- "fileServers": [
- {
- "fileServer": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/fileservers/fileservercedd134b"
- },
- "relativeMountPath": "nfs",
- "mountOptions": "rw"
- }
]
}
},
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetFileServer.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetFileServer.json
deleted file mode 100644
index 26728a96f575..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetFileServer.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "workspaceName": "demo_workspace",
- "fileServerName": "demo_nfs",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-05-01"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/fileservers/fileservercedd134b",
- "name": "fileservercedd134b",
- "type": "Microsoft.BatchAI/FileServers",
- "properties": {
- "provisioningState": "succeeded",
- "creationTime": "2017-09-27T21:45:28.159Z",
- "provisioningStateTransitionTime": "2017-09-27T21:49:25.416Z",
- "vmSize": "STANDARD_NC6",
- "sshConfiguration": {
- "userAccountSettings": {
- "adminUserName": "admin_user_name"
- }
- },
- "dataDisks": {
- "diskSizeInGB": 10,
- "cachingType": "none",
- "diskCount": 2,
- "storageAccountType": "Standard_LRS"
- },
- "subnet": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1"
- },
- "mountSettings": {
- "mountPoint": "/mnt/data",
- "fileServerPublicIP": "13.90.141.66",
- "fileServerInternalIP": "10.0.0.4"
- }
- }
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListOperation.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListOperation.json
index c5831fbdd03e..39c6ee54cbed 100644
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListOperation.json
+++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListOperation.json
@@ -193,50 +193,6 @@
"origin": "user,system",
"properties": null
},
- {
- "display": {
- "description": "Lists Batch AI fileservers or gets the properties of a Batch AI fileserver",
- "operation": "List or get Batch AI fileservers",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Fileservers"
- },
- "name": "Microsoft.BatchAI/fileservers/read",
- "origin": "user,system",
- "properties": null
- },
- {
- "display": {
- "description": "Lists Batch AI fileservers or gets the properties of a Batch AI fileserver",
- "operation": "List or get Batch AI fileservers",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Fileservers"
- },
- "name": "Microsoft.BatchAI/workspaces/fileservers/read",
- "origin": "user,system",
- "properties": null
- },
- {
- "display": {
- "description": "Creates a new Batch AI fileserver or updates an existing Batch AI fileserver",
- "operation": "Create or update Batch AI fileserver",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Fileservers"
- },
- "name": "Microsoft.BatchAI/workspaces/fileservers/write",
- "origin": "user,system",
- "properties": null
- },
- {
- "display": {
- "description": "Deletes a Batch AI fileserver",
- "operation": "Delete Batch AI filserver",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Fileservers"
- },
- "name": "Microsoft.BatchAI/workspaces/fileservers/delete",
- "origin": "user,system",
- "properties": null
- },
{
"display": {
"description": "Gets Batch AI usages of the specified subscription at the specified Azure region",
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutCluster.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutCluster.json
index f650ae903133..5bd81f4ee174 100644
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutCluster.json
+++ b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutCluster.json
@@ -20,15 +20,6 @@
},
"nodeSetup": {
"mountVolumes": {
- "fileServers": [
- {
- "fileServer": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspaces/fileservers/fileservercedd134b"
- },
- "mountOptions": "rw",
- "relativeMountPath": "nfs"
- }
- ],
"azureFileShares": [
{
"relativeMountPath": "azfiles",
@@ -104,15 +95,6 @@
"fileMode": "0777",
"directoryMode": "0777"
}
- ],
- "fileServers": [
- {
- "fileServer": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspaces/fileservers/fileservercedd134b"
- },
- "relativeMountPath": "nfs",
- "mountOptions": "rw"
- }
]
}
},
diff --git a/specification/batchai/resource-manager/readme.azureresourceschema.md b/specification/batchai/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index da50d317d24b..000000000000
--- a/specification/batchai/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,48 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-batchai-2018-05-01
- - tag: schema-batchai-2018-03-01
- - tag: schema-batchai-2017-09-01-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-batchai-2018-05-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-batchai-2018-05-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.BatchAI/stable/2018-05-01/BatchAI.json
-
-```
-
-### Tag: schema-batchai-2018-03-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-batchai-2018-03-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.BatchAI/stable/2018-03-01/BatchAI.json
-
-```
-
-### Tag: schema-batchai-2017-09-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-batchai-2017-09-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.BatchAI/preview/2017-09-01-preview/BatchAI.json
-
-```
diff --git a/specification/batchai/resource-manager/readme.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/batchai/resource-manager/readme.md b/specification/batchai/resource-manager/readme.md
index 6c29bae8f5b6..29975b5fbe5a 100644
--- a/specification/batchai/resource-manager/readme.md
+++ b/specification/batchai/resource-manager/readme.md
@@ -67,14 +67,12 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-net
- - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js batchai/resource-manager
```
@@ -95,30 +93,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.batchai
- package-name: azure-mgmt-batchai
- clear-output-folder: true
-```
-``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/azure-mgmt-batchai/azure/mgmt/batchai
-```
-``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/azure-mgmt-batchai
-```
+See configuration in [readme.python.md](./readme.python.md)
## Go
@@ -186,7 +161,5 @@ regenerate-manager: true
generate-interface: true
```
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/batchai/resource-manager/readme.python.md b/specification/batchai/resource-manager/readme.python.md
new file mode 100644
index 000000000000..ff5956c37e0d
--- /dev/null
+++ b/specification/batchai/resource-manager/readme.python.md
@@ -0,0 +1,23 @@
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+package-name: azure-mgmt-batchai
+no-namespace-folders: true
+package-version: 1.0.0b1
+clear-output-folder: true
+```
+
+``` yaml $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/batchai/azure-mgmt-batchai/azure/mgmt/batchai
+```
+
+``` yaml $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/batchai/azure-mgmt-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.azureresourceschema.md b/specification/billing/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index e7e163b7b60e..000000000000
--- a/specification/billing/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,85 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-billing-2020-05-01
- - tag: schema-billing-2019-10-01-preview
- - tag: schema-billing-2018-11-01-preview
- - tag: schema-billing-2018-03-01-preview
- - tag: schema-billing-2017-04-24-preview
- - tag: schema-billing-2017-02-27-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-billing-2020-05-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-billing-2020-05-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Billing/stable/2020-05-01/billing.json
-
-```
-
-### Tag: schema-billing-2019-10-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-billing-2019-10-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Billing/preview/2019-10-01-preview/billing.json
-
-```
-
-### Tag: schema-billing-2018-11-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-billing-2018-11-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Billing/preview/2018-11-01-preview/billing.json
-
-```
-
-### Tag: schema-billing-2018-03-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-billing-2018-03-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Billing/preview/2018-03-01-preview/billingV2.json
- - Microsoft.Billing/preview/2018-03-01-preview/billing.json
-
-```
-
-### Tag: schema-billing-2017-04-24-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-billing-2017-04-24-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Billing/preview/2017-04-24-preview/billing.json
-
-```
-
-### Tag: schema-billing-2017-02-27-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-billing-2017-02-27-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Billing/preview/2017-02-27-preview/billing.json
-
-```
diff --git a/specification/billing/resource-manager/readme.go.md b/specification/billing/resource-manager/readme.go.md
index f6bf507cb97e..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..8cb5f3f3a9a5 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
@@ -96,18 +105,16 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-net
- - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-sdk-for-ruby
- - 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
```
@@ -125,6 +132,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)
@@ -235,6 +246,4 @@ generate-interface: true
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/billing/resource-manager/readme.python.md b/specification/billing/resource-manager/readme.python.md
index 28fc27d0534c..829ed6a6c37d 100644
--- a/specification/billing/resource-manager/readme.python.md
+++ b/specification/billing/resource-manager/readme.python.md
@@ -6,22 +6,19 @@ Use `--python-mode=update` if you already have a setup.py and just want to updat
``` yaml $(python)
python-mode: create
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- namespace: azure.mgmt.billing
- package-name: azure-mgmt-billing
- package-version: 0.3.0
- clear-output-folder: true
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.billing
+package-name: azure-mgmt-billing
+package-version: 0.3.0
+clear-output-folder: true
```
``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/billing/azure-mgmt-billing/azure/mgmt/billing
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/billing/azure-mgmt-billing/azure/mgmt/billing
```
+
``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/billing/azure-mgmt-billing
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/billing/azure-mgmt-billing
```
diff --git a/specification/blockchain/resource-manager/readme.azureresourceschema.md b/specification/blockchain/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index 01c28ae04c95..000000000000
--- a/specification/blockchain/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,24 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-blockchain-2018-06-01-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-blockchain-2018-06-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-blockchain-2018-06-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Blockchain/preview/2018-06-01-preview/blockchain.json
-
-```
diff --git a/specification/blockchain/resource-manager/readme.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/blockchain/resource-manager/readme.md b/specification/blockchain/resource-manager/readme.md
index fda27f80fb64..314c4c624b3a 100644
--- a/specification/blockchain/resource-manager/readme.md
+++ b/specification/blockchain/resource-manager/readme.md
@@ -61,8 +61,6 @@ swagger-to-sdk:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_blockchain']
- repo: azure-cli-extensions
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js blockchain/resource-manager
```
## C#
@@ -90,7 +88,5 @@ See configuration in [readme.node.md](./readme.node.md)
See configuration in [readme.ruby.md](./readme.ruby.md)
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintDefinition.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintDefinition.json
index 43616703c192..8c6cb466a66f 100644
--- a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintDefinition.json
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintDefinition.json
@@ -972,6 +972,7 @@
},
"layout": {
"type": "object",
+ "readOnly": true,
"description": "Layout view of the blueprint definition for UI reference."
}
},
diff --git a/specification/blueprint/resource-manager/readme.azureresourceschema.md b/specification/blueprint/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index 4e9a1ed8e02a..000000000000
--- a/specification/blueprint/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,39 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-blueprint-2018-11-01-preview
- - tag: schema-blueprint-2017-11-11-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-blueprint-2018-11-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-blueprint-2018-11-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Blueprint/preview/2018-11-01-preview/blueprintDefinition.json
- - Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json
- - Microsoft.Blueprint/preview/2018-11-01-preview/assignmentOperation.json
-
-```
-
-### Tag: schema-blueprint-2017-11-11-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-blueprint-2017-11-11-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Blueprint/preview/2017-11-11-preview/blueprintDefinition.json
- - Microsoft.Blueprint/preview/2017-11-11-preview/blueprintAssignment.json
-
-```
diff --git a/specification/blueprint/resource-manager/readme.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/blueprint/resource-manager/readme.md b/specification/blueprint/resource-manager/readme.md
index e133f1b7ed9f..5d57c7587278 100644
--- a/specification/blueprint/resource-manager/readme.md
+++ b/specification/blueprint/resource-manager/readme.md
@@ -64,8 +64,6 @@ swagger-to-sdk:
- repo: azure-sdk-for-js
- repo: azure-sdk-for-python
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js blueprint/resource-manager
```
@@ -134,7 +132,5 @@ directive:
reason: OperationsAPI for Microsoft.Management is out of scope.
```
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/botservice.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/botservice.json
new file mode 100644
index 000000000000..772e0a1c5d47
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/botservice.json
@@ -0,0 +1,2977 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Bot Service",
+ "description": "Azure Bot Service is a platform for creating smart conversational agents.",
+ "version": "2021-05-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.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"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.BotService/operationresults/{operationResultId}": {
+ "get": {
+ "tags": [
+ "OperationResults"
+ ],
+ "description": "Get the operation result for a long running operation.",
+ "operationId": "OperationResults_Get",
+ "x-ms-examples": {
+ "Get operation result": {
+ "$ref": "./examples/OperationResultsGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/operationResultIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains all of the properties of the operation result.",
+ "schema": {
+ "$ref": "#/definitions/OperationResultsDescription"
+ }
+ },
+ "202": {
+ "description": "Accepted - Get request accepted; the operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Default error response",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_List",
+ "description": "List all the private endpoint connections associated with the Bot.",
+ "x-ms-examples": {
+ "List Private Endpoint Connections": {
+ "$ref": "./examples/ListPrivateEndpointConnections.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Successfully retrieved private endpoint connections.",
+ "schema": {
+ "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Get",
+ "description": "Gets the specified private endpoint connection associated with the Bot.",
+ "x-ms-examples": {
+ "Get Private Endpoint Connection": {
+ "$ref": "./examples/GetPrivateEndpointConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Get the private endpoint connection properties successfully.",
+ "schema": {
+ "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Create",
+ "description": "Update the state of specified private endpoint connection associated with the Bot.",
+ "x-ms-examples": {
+ "Put Private Endpoint Connection": {
+ "$ref": "./examples/PutPrivateEndpointConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName"
+ },
+ {
+ "name": "properties",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection"
+ },
+ "description": "The private endpoint connection properties."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Update the private endpoint connection properties successfully.",
+ "schema": {
+ "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Delete",
+ "description": "Deletes the specified private endpoint connection associated with the Bot.",
+ "x-ms-examples": {
+ "Delete Private Endpoint Connection": {
+ "$ref": "./examples/DeletePrivateEndpointConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Delete the private endpoint connection successfully."
+ },
+ "204": {
+ "description": "No Content -- The private endpoint connection does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "operationId": "PrivateLinkResources_ListByBotResource",
+ "description": "Gets the private link resources that need to be created for a Bot.",
+ "x-ms-examples": {
+ "List Private Link Resources": {
+ "$ref": "./examples/ListPrivateLinkResources.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved private link resources.",
+ "schema": {
+ "$ref": "./privatelinks.json#/definitions/PrivateLinkResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response",
+ "x-ms-error-response": true,
+ "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"
+ },
+ "isIsolated": {
+ "type": "boolean",
+ "description": "Whether the bot is in an isolated network"
+ },
+ "schemaTransformationVersion": {
+ "type": "string",
+ "description": "The channel schema transformation version for the bot"
+ }
+ },
+ "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": {
+ "cognitiveServiceRegion": {
+ "type": "string",
+ "description": "The cognitive service region with this channel registration."
+ },
+ "cognitiveServiceSubscriptionKey": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "The cognitive service subscription key 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": [
+ "cognitiveServiceRegion",
+ "cognitiveServiceSubscriptionKey"
+ ]
+ },
+ "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"
+ }
+ }
+ },
+ "OperationResultsDescription": {
+ "description": "The properties indicating the operation result of an operation on a service.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ID of the operation returned.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the operation result.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "status": {
+ "description": "The status of the operation being performed.",
+ "enum": [
+ "Canceled",
+ "Succeeded",
+ "Failed",
+ "Requested",
+ "Running"
+ ],
+ "readOnly": true,
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OperationResultStatus",
+ "modelAsString": true
+ }
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The time that the operation was started.",
+ "readOnly": true,
+ "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."
+ },
+ "operationResultIdParameter": {
+ "name": "operationResultId",
+ "in": "path",
+ "description": "The ID of the operation result to get.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string"
+ },
+ "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/preview/2021-05-01-preview/examples/CheckNameAvailability.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/CheckNameAvailability.json
new file mode 100644
index 000000000000..1cfee4911fe4
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/CheckNameAvailability.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01-preview",
+ "parameters": {
+ "name": "testbotname",
+ "type": "string"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "valid": true,
+ "message": "custom message from server"
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/CreateBot.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/CreateBot.json
new file mode 100644
index 000000000000..459eed1e7555
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/CreateBot.json
@@ -0,0 +1,117 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "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",
+ "isIsolated": false,
+ "schemaTransformationVersion": "1.0"
+ }
+ }
+ },
+ "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",
+ "isIsolated": false,
+ "schemaTransformationVersion": "1.0"
+ }
+ }
+ },
+ "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",
+ "isIsolated": false,
+ "schemaTransformationVersion": "1.0"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/DeleteBot.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/DeleteBot.json
new file mode 100644
index 000000000000..b73a1f6633c8
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/DeleteBot.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "resourceName": "samplebotname"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/DeleteChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/DeleteChannel.json
new file mode 100644
index 000000000000..7f25eb68fb75
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/DeleteChannel.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "resourceName": "samplebotname",
+ "channelName": "EmailChannel"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/DeleteConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/DeleteConnection.json
new file mode 100644
index 000000000000..284ba06b13ee
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/DeleteConnection.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "resourceName": "samplebotname",
+ "connectionName": "sampleConnection"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/DeleteDirectLineSpeechChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/DeleteDirectLineSpeechChannel.json
new file mode 100644
index 000000000000..3b5adfa79c50
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/DeleteDirectLineSpeechChannel.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "resourceName": "samplebotname",
+ "channelName": "DirectLineSpeechChannel"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/DeletePrivateEndpointConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/DeletePrivateEndpointConnection.json
new file mode 100644
index 000000000000..e17e3518d111
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/DeletePrivateEndpointConnection.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res6977",
+ "resourceName": "sto2527",
+ "privateEndpointConnectionName": "{privateEndpointConnectionName}",
+ "api-version": "2021-05-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/DirectlineRegenerateKeys.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/DirectlineRegenerateKeys.json
new file mode 100644
index 000000000000..1e173b3ef60c
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/DirectlineRegenerateKeys.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "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/preview/2021-05-01-preview/examples/GetAlexaChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetAlexaChannel.json
new file mode 100644
index 000000000000..ec1622dbcb44
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetAlexaChannel.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "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/preview/2021-05-01-preview/examples/GetBot.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetBot.json
new file mode 100644
index 000000000000..478fbb23654d
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetBot.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "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",
+ "isIsolated": false,
+ "schemaTransformationVersion": "1.0"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetChannel.json
new file mode 100644
index 000000000000..0b35ac00f005
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetChannel.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "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/preview/2021-05-01-preview/examples/GetConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetConnection.json
new file mode 100644
index 000000000000..1616b5ec5080
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetConnection.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "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/preview/2021-05-01-preview/examples/GetDirectLineSpeechChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetDirectLineSpeechChannel.json
new file mode 100644
index 000000000000..9d436d21c838
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetDirectLineSpeechChannel.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "resourceName": "samplebotname",
+ "channelName": "DirectLineSpeechChannel"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServiceRegion": "Cognitive service region",
+ "customVoiceDeploymentId": "Custom voice deployment ID",
+ "customSpeechModelId": "Custom speech model ID",
+ "isDefaultBotForCogSvcAccount": true,
+ "isEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetHostSettings.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetHostSettings.json
new file mode 100644
index 000000000000..0204d7e272a2
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetHostSettings.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "api-version": "2021-05-01-preview"
+ },
+ "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/preview/2021-05-01-preview/examples/GetLineChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetLineChannel.json
new file mode 100644
index 000000000000..65daaf9a0f18
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetLineChannel.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "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/preview/2021-05-01-preview/examples/GetOperations.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetOperations.json
new file mode 100644
index 000000000000..1d10c2634c29
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetOperations.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01-preview"
+ },
+ "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/preview/2021-05-01-preview/examples/GetPrivateEndpointConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetPrivateEndpointConnection.json
new file mode 100644
index 000000000000..99cfb5068631
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetPrivateEndpointConnection.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res6977",
+ "resourceName": "sto2527",
+ "privateEndpointConnectionName": "{privateEndpointConnectionName}",
+ "api-version": "2021-05-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.BotService/botServices/sto288/privateEndpointConnections/{privateEndpointConnectionName}",
+ "name": "{privateEndpointConnectionName}",
+ "type": "Microsoft.BotService/botServices/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsByResourceGroup.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsByResourceGroup.json
new file mode 100644
index 000000000000..07a253f7c039
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsByResourceGroup.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview"
+ },
+ "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",
+ "isIsolated": false,
+ "schemaTransformationVersion": "1.0"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsBySubscription.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsBySubscription.json
new file mode 100644
index 000000000000..8988345f5d8c
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsBySubscription.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "api-version": "2021-05-01-preview"
+ },
+ "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",
+ "isIsolated": false,
+ "schemaTransformationVersion": "1.0"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListChannel.json
new file mode 100644
index 000000000000..32ac3c958a19
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListChannel.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "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/preview/2021-05-01-preview/examples/ListChannelsByBotService.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListChannelsByBotService.json
new file mode 100644
index 000000000000..3e3052172715
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListChannelsByBotService.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "resourceName": "samplebotname",
+ "api-version": "2021-05-01-preview"
+ },
+ "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/preview/2021-05-01-preview/examples/ListConnectionsByBotService.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListConnectionsByBotService.json
new file mode 100644
index 000000000000..afd346cba1d5
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListConnectionsByBotService.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "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/preview/2021-05-01-preview/examples/ListPrivateEndpointConnections.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListPrivateEndpointConnections.json
new file mode 100644
index 000000000000..7408d6fa87c6
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListPrivateEndpointConnections.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res6977",
+ "resourceName": "sto2527",
+ "api-version": "2021-05-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.BotService/botServices/sto288/privateEndpointConnections/{privateEndpointConnectionName}",
+ "name": "{privateEndpointConnectionName}",
+ "type": "Microsoft.BotService/botServices/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionRequired": "None"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.BotService/botServices/sto288/privateEndpointConnections/{privateEndpointConnectionName}",
+ "name": "{privateEndpointConnectionName}",
+ "type": "Microsoft.BotService/botServices/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest02"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListPrivateLinkResources.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListPrivateLinkResources.json
new file mode 100644
index 000000000000..cc9443d9f485
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListPrivateLinkResources.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res6977",
+ "resourceName": "sto2527",
+ "api-version": "2021-05-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.BotService/botServices/sto2527/privateLinkResources/resource1",
+ "name": "resource1",
+ "type": "Microsoft.BotService/botServices/privateLinkResources",
+ "properties": {
+ "groupId": "bot",
+ "requiredMembers": [
+ "bot"
+ ],
+ "requiredZoneNames": [
+ "privatelink.botframework.com"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListServiceProviders.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListServiceProviders.json
new file mode 100644
index 000000000000..44a3a9842411
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListServiceProviders.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "api-version": "2021-05-01-preview"
+ },
+ "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/preview/2021-05-01-preview/examples/OperationResultsGet.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/OperationResultsGet.json
new file mode 100644
index 000000000000..40d3477e5bd0
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/OperationResultsGet.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01-preview",
+ "subscriptionId": "subid",
+ "operationResultId": "exampleid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.BotService/locations/westus/operationresults/exampleid",
+ "name": "servicename",
+ "status": "Requested",
+ "startTime": "2019-01-21T06:03:30.2716301Z"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/PutAlexaChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/PutAlexaChannel.json
new file mode 100644
index 000000000000..42e777326e0a
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/PutAlexaChannel.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "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/preview/2021-05-01-preview/examples/PutChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/PutChannel.json
new file mode 100644
index 000000000000..01a985afdab0
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/PutChannel.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "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/preview/2021-05-01-preview/examples/PutConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/PutConnection.json
new file mode 100644
index 000000000000..2704264ef06a
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/PutConnection.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "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/preview/2021-05-01-preview/examples/PutDirectLineSpeechChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/PutDirectLineSpeechChannel.json
new file mode 100644
index 000000000000..9d6e2319eb51
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/PutDirectLineSpeechChannel.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "resourceName": "samplebotname",
+ "channelName": "DirectLineSpeechChannel",
+ "parameters": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServiceRegion": "XcognitiveServiceRegionX",
+ "cognitiveServiceSubscriptionKey": "XcognitiveServiceSubscriptionKeyX",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServiceRegion": "XcognitiveServiceRegionX",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServiceRegion": "XcognitiveServiceRegionX",
+ "isEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/PutLineChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/PutLineChannel.json
new file mode 100644
index 000000000000..3c5b039c9a8f
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/PutLineChannel.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "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/preview/2021-05-01-preview/examples/PutPrivateEndpointConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/PutPrivateEndpointConnection.json
new file mode 100644
index 000000000000..0b79af4523d6
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/PutPrivateEndpointConnection.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res7687",
+ "resourceName": "sto9699",
+ "privateEndpointConnectionName": "{privateEndpointConnectionName}",
+ "api-version": "2021-05-01-preview",
+ "properties": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.BotService/botServices/sto288/privateEndpointConnections/{privateEndpointConnectionName}",
+ "name": "{privateEndpointConnectionName}",
+ "type": "Microsoft.BotService/botServices/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateAlexaChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateAlexaChannel.json
new file mode 100644
index 000000000000..0a9b3855da88
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateAlexaChannel.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "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/preview/2021-05-01-preview/examples/UpdateBot.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateBot.json
new file mode 100644
index 000000000000..d1a7719305c9
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateBot.json
@@ -0,0 +1,119 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "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",
+ "isIsolated": false,
+ "schemaTransformationVersion": "1.0"
+ }
+ }
+ },
+ "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",
+ "isIsolated": false,
+ "schemaTransformationVersion": "1.0"
+ }
+ }
+ },
+ "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",
+ "isIsolated": false,
+ "schemaTransformationVersion": "1.0"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateChannel.json
new file mode 100644
index 000000000000..01a985afdab0
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateChannel.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "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/preview/2021-05-01-preview/examples/UpdateConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateConnection.json
new file mode 100644
index 000000000000..18ca007cae17
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateConnection.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "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/preview/2021-05-01-preview/examples/UpdateDirectLineSpeechChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateDirectLineSpeechChannel.json
new file mode 100644
index 000000000000..9d6e2319eb51
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateDirectLineSpeechChannel.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "resourceName": "samplebotname",
+ "channelName": "DirectLineSpeechChannel",
+ "parameters": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServiceRegion": "XcognitiveServiceRegionX",
+ "cognitiveServiceSubscriptionKey": "XcognitiveServiceSubscriptionKeyX",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServiceRegion": "XcognitiveServiceRegionX",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServiceRegion": "XcognitiveServiceRegionX",
+ "isEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateLineChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateLineChannel.json
new file mode 100644
index 000000000000..3c5b039c9a8f
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateLineChannel.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "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/preview/2021-05-01-preview/examples/WebChatRegenerateKeys.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/WebChatRegenerateKeys.json
new file mode 100644
index 000000000000..d5b2860150ae
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/WebChatRegenerateKeys.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-05-01-preview",
+ "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/Microsoft.BotService/preview/2021-05-01-preview/privatelinks.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/privatelinks.json
new file mode 100644
index 000000000000..03d65e67e1b3
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/privatelinks.json
@@ -0,0 +1,196 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-05-01-preview",
+ "title": "Common types"
+ },
+ "paths": {},
+ "definitions": {
+ "PrivateEndpoint": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ARM identifier for Private Endpoint"
+ }
+ },
+ "description": "The Private Endpoint resource."
+ },
+ "PrivateLinkResourceBase": {
+ "title": "Private Link Resource Base",
+ "description": "Common fields that are returned in the response for all BotService Private Link Resources",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\""
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "PrivateEndpointConnection": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "x-ms-client-flatten": true,
+ "description": "Resource properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/PrivateLinkResourceBase"
+ }
+ ],
+ "description": "The Private Endpoint Connection resource."
+ },
+ "PrivateEndpointConnectionProperties": {
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "The resource of private end point."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState",
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState",
+ "description": "The provisioning state of the private endpoint connection resource."
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ],
+ "description": "Properties of the PrivateEndpointConnectProperties."
+ },
+ "PrivateLinkServiceConnectionState": {
+ "properties": {
+ "status": {
+ "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus",
+ "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service."
+ },
+ "description": {
+ "type": "string",
+ "description": "The reason for approval/rejection of the connection."
+ },
+ "actionRequired": {
+ "type": "string",
+ "description": "A message indicating if changes on the service provider require any updates on the consumer."
+ }
+ },
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ },
+ "PrivateEndpointServiceConnectionStatus": {
+ "type": "string",
+ "description": "The private endpoint connection status.",
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointServiceConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "PrivateEndpointConnectionProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointConnectionProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "PrivateLinkResource": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/PrivateLinkResourceBase"
+ }
+ ],
+ "description": "A private link resource"
+ },
+ "PrivateLinkResourceProperties": {
+ "properties": {
+ "groupId": {
+ "description": "The private link resource group id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requiredMembers": {
+ "description": "The private link resource required member names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "requiredZoneNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The private link resource Private link DNS zone name."
+ }
+ },
+ "description": "Properties of a private link resource."
+ },
+ "PrivateEndpointConnectionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private endpoint connections",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ },
+ "description": "List of private endpoint connection associated with the specified storage account"
+ },
+ "PrivateLinkResourceListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private link resources",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ }
+ },
+ "description": "A list of private link resources"
+ }
+ },
+ "parameters": {
+ "PrivateEndpointConnectionName": {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection associated with the Azure resource",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/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..5af0ff00991a
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/botservice.json
@@ -0,0 +1,2655 @@
+{
+ "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"
+ },
+ "isIsolated": {
+ "type": "boolean",
+ "description": "Whether the bot is in an isolated network"
+ },
+ "schemaTransformationVersion": {
+ "type": "string",
+ "description": "The channel schema transformation version for the bot"
+ }
+ },
+ "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": {
+ "cognitiveServiceRegion": {
+ "type": "string",
+ "description": "The cognitive service region with this channel registration."
+ },
+ "cognitiveServiceSubscriptionKey": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "The cognitive service subscription key 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": [
+ "cognitiveServiceRegion",
+ "cognitiveServiceSubscriptionKey"
+ ]
+ },
+ "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..3b24c7a2df3a
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/CreateBot.json
@@ -0,0 +1,117 @@
+{
+ "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",
+ "isIsolated": false,
+ "schemaTransformationVersion": "1.0"
+ }
+ }
+ },
+ "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",
+ "isIsolated": false,
+ "schemaTransformationVersion": "1.0"
+ }
+ }
+ },
+ "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",
+ "isIsolated": false,
+ "schemaTransformationVersion": "1.0"
+ }
+ }
+ }
+ }
+}
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..189fc73fb9b3
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetBot.json
@@ -0,0 +1,49 @@
+{
+ "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",
+ "isIsolated": false,
+ "schemaTransformationVersion": "1.0"
+ }
+ }
+ }
+ }
+}
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..35110c6719ff
--- /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": {
+ "cognitiveServiceRegion": "Cognitive service region",
+ "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..0c25649703bd
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListBotsByResourceGroup.json
@@ -0,0 +1,52 @@
+{
+ "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",
+ "isIsolated": false,
+ "schemaTransformationVersion": "1.0"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
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..ea64a7343666
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListBotsBySubscription.json
@@ -0,0 +1,51 @@
+{
+ "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",
+ "isIsolated": false,
+ "schemaTransformationVersion": "1.0"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
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..0411ec285694
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutDirectLineSpeechChannel.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname",
+ "channelName": "DirectLineSpeechChannel",
+ "parameters": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServiceRegion": "XcognitiveServiceRegionX",
+ "cognitiveServiceSubscriptionKey": "XcognitiveServiceSubscriptionKeyX",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServiceRegion": "XcognitiveServiceRegionX",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServiceRegion": "XcognitiveServiceRegionX",
+ "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..3997a188df7b
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateBot.json
@@ -0,0 +1,119 @@
+{
+ "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",
+ "isIsolated": false,
+ "schemaTransformationVersion": "1.0"
+ }
+ }
+ },
+ "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",
+ "isIsolated": false,
+ "schemaTransformationVersion": "1.0"
+ }
+ }
+ },
+ "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",
+ "isIsolated": false,
+ "schemaTransformationVersion": "1.0"
+ }
+ }
+ }
+ }
+}
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..0411ec285694
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateDirectLineSpeechChannel.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname",
+ "channelName": "DirectLineSpeechChannel",
+ "parameters": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServiceRegion": "XcognitiveServiceRegionX",
+ "cognitiveServiceSubscriptionKey": "XcognitiveServiceSubscriptionKeyX",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServiceRegion": "XcognitiveServiceRegionX",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServiceRegion": "XcognitiveServiceRegionX",
+ "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
deleted file mode 100644
index 3e03a113a69a..000000000000
--- a/specification/botservice/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,48 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-botservice-2020-06-02
- - tag: schema-botservice-2018-07-12
- - tag: schema-botservice-2017-12-01
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-botservice-2020-06-02 and azureresourceschema
-
-``` yaml $(tag) == 'schema-botservice-2020-06-02' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.BotService/stable/2020-06-02/botservice.json
-
-```
-
-### Tag: schema-botservice-2018-07-12 and azureresourceschema
-
-``` yaml $(tag) == 'schema-botservice-2018-07-12' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.BotService/preview/2018-07-12/botservice.json
-
-```
-
-### Tag: schema-botservice-2017-12-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-botservice-2017-12-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.BotService/preview/2017-12-01/botservice.json
-
-```
diff --git a/specification/botservice/resource-manager/readme.go.md b/specification/botservice/resource-manager/readme.go.md
index cba88fc90ffa..97433ce5c511 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
```
@@ -13,10 +13,20 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-03-01
- tag: package-2017-12-01
- tag: package-2018-07-12
```
+### 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)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-03-01/$(namespace)
+```
+
### Tag: package-2018-07-12 and go
These settings apply only when `--tag=package-2018-07-12 --go` is specified on the command line.
diff --git a/specification/botservice/resource-manager/readme.java.md b/specification/botservice/resource-manager/readme.java.md
index 1b10ea0e95d7..b247b8f57638 100644
--- a/specification/botservice/resource-manager/readme.java.md
+++ b/specification/botservice/resource-manager/readme.java.md
@@ -10,6 +10,8 @@ namespace: com.microsoft.azure.management.botservice
license-header: MICROSOFT_MIT_NO_CODEGEN
payload-flattening-threshold: 1
output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-botservice
+
+service-name: BotService
```
### Java multi-api
diff --git a/specification/botservice/resource-manager/readme.md b/specification/botservice/resource-manager/readme.md
index 6e1824037d67..fb9d9999abb2 100644
--- a/specification/botservice/resource-manager/readme.md
+++ b/specification/botservice/resource-manager/readme.md
@@ -26,15 +26,52 @@ These are the global settings for the BotService API.
``` yaml
openapi-type: arm
-tag: package-2020-06-02
+tag: package-preview-2021-05
```
+### Tag: package-preview-2021-05
+
+These settings apply only when `--tag=package-preview-2021-05` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2021-05'
+input-file:
+ - Microsoft.BotService/preview/2021-05-01-preview/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-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
These settings apply only when `--tag=package-2020-06-02` is specified on the command line.
-```yaml $(tag) == 'package-2020-06-02'
+``` yaml $(tag) == 'package-2020-06-02'
input-file:
- Microsoft.BotService/stable/2020-06-02/botservice.json
directive:
@@ -43,7 +80,6 @@ directive:
reason: We do not yet support systemdata.
```
-
### Tag: package-2018-07-12
These settings apply only when `--tag=package-2018-07-12` is specified on the command line.
@@ -101,16 +137,15 @@ 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-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js botservice/resource-manager
- repo: azure-sdk-for-js
```
-
## Suppression
-```
+
+```
directive:
- suppress: SECRET_PROPERTY
from: botservice.json
@@ -118,7 +153,6 @@ directive:
reason: We do need to return verifyToken in FacebookChannelProperties.
```
-
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -143,9 +177,4 @@ See configuration in [readme.java.md](./readme.java.md)
## Python
-See readme.python.md file.
-
-## AzureResourceSchema
-
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
-
+See configuration in [readme.python.md](./readme.python.md)
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/cdn.json
index 72bfef245f21..6dff0ae76a06 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/cdn.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/cdn.json
@@ -1642,7 +1642,8 @@
"$ref": "#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps": {
@@ -1717,7 +1718,8 @@
"$ref": "#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/providers/Microsoft.Cdn/checkNameAvailability": {
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdn.json
index 85e58bdd2080..768647aaadab 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdn.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdn.json
@@ -1642,7 +1642,8 @@
"$ref": "#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps": {
@@ -1717,7 +1718,8 @@
"$ref": "#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/providers/Microsoft.Cdn/checkNameAvailability": {
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/cdn.json
index 985cc15ee100..7ea810593f26 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/cdn.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/cdn.json
@@ -2110,7 +2110,8 @@
"$ref": "#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps": {
@@ -2185,7 +2186,8 @@
"$ref": "#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/providers/Microsoft.Cdn/checkNameAvailability": {
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdn.json
index 5b5bb55288fa..8c80108d158f 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdn.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdn.json
@@ -2110,7 +2110,8 @@
"$ref": "#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps": {
@@ -2185,7 +2186,8 @@
"$ref": "#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/providers/Microsoft.Cdn/checkNameAvailability": {
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdn.json
index 24ba251127d2..51fa15d2fd67 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdn.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdn.json
@@ -2110,7 +2110,8 @@
"$ref": "#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps": {
@@ -2185,7 +2186,8 @@
"$ref": "#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/providers/Microsoft.Cdn/checkNameAvailability": {
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-09-01/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-09-01/cdn.json
index 6b5dd994036b..0cc2ca2e464f 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-09-01/cdn.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-09-01/cdn.json
@@ -2110,7 +2110,8 @@
"$ref": "#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps": {
@@ -2185,7 +2186,8 @@
"$ref": "#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/providers/Microsoft.Cdn/checkNameAvailability": {
diff --git a/specification/cdn/resource-manager/readme.azureresourceschema.md b/specification/cdn/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index b3be70364058..000000000000
--- a/specification/cdn/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,149 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-cdn-2020-09-01
- - tag: schema-cdn-2020-04-15
- - tag: schema-cdn-2019-12-31
- - tag: schema-cdn-2019-06-15-preview
- - tag: schema-cdn-2019-06-15
- - tag: schema-cdn-2019-04-15
- - tag: schema-cdn-2017-10-12
- - tag: schema-cdn-2017-04-02
- - tag: schema-cdn-2016-10-02
- - tag: schema-cdn-2016-04-02
- - tag: schema-cdn-2015-06-01
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-cdn-2020-09-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-cdn-2020-09-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Cdn/stable/2020-09-01/cdn.json
- - Microsoft.Cdn/stable/2020-09-01/afdx.json
- - Microsoft.Cdn/stable/2020-09-01/cdnwebapplicationfirewall.json
-
-```
-
-### Tag: schema-cdn-2020-04-15 and azureresourceschema
-
-``` yaml $(tag) == 'schema-cdn-2020-04-15' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Cdn/stable/2020-04-15/cdn.json
- - Microsoft.Cdn/stable/2020-04-15/cdnwebapplicationfirewall.json
-
-```
-
-### Tag: schema-cdn-2019-12-31 and azureresourceschema
-
-``` yaml $(tag) == 'schema-cdn-2019-12-31' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Cdn/stable/2019-12-31/cdn.json
-
-```
-
-### Tag: schema-cdn-2019-06-15-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-cdn-2019-06-15-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Cdn/preview/2019-06-15-preview/cdn.json
- - Microsoft.Cdn/preview/2019-06-15-preview/cdnwebapplicationfirewall.json
-
-```
-
-### Tag: schema-cdn-2019-06-15 and azureresourceschema
-
-``` yaml $(tag) == 'schema-cdn-2019-06-15' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Cdn/stable/2019-06-15/cdn.json
- - Microsoft.Cdn/stable/2019-06-15/cdnwebapplicationfirewall.json
-
-```
-
-### Tag: schema-cdn-2019-04-15 and azureresourceschema
-
-``` yaml $(tag) == 'schema-cdn-2019-04-15' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Cdn/stable/2019-04-15/cdn.json
-
-```
-
-### Tag: schema-cdn-2017-10-12 and azureresourceschema
-
-``` yaml $(tag) == 'schema-cdn-2017-10-12' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Cdn/stable/2017-10-12/cdn.json
-
-```
-
-### Tag: schema-cdn-2017-04-02 and azureresourceschema
-
-``` yaml $(tag) == 'schema-cdn-2017-04-02' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Cdn/stable/2017-04-02/cdn.json
-
-```
-
-### Tag: schema-cdn-2016-10-02 and azureresourceschema
-
-``` yaml $(tag) == 'schema-cdn-2016-10-02' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Cdn/stable/2016-10-02/cdn.json
-
-```
-
-### Tag: schema-cdn-2016-04-02 and azureresourceschema
-
-``` yaml $(tag) == 'schema-cdn-2016-04-02' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Cdn/stable/2016-04-02/cdn.json
-
-```
-
-### Tag: schema-cdn-2015-06-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-cdn-2015-06-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Cdn/stable/2015-06-01/cdn.json
-
-```
diff --git a/specification/cdn/resource-manager/readme.go.md b/specification/cdn/resource-manager/readme.go.md
index 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..1a97777e438b 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
@@ -160,8 +160,6 @@ swagger-to-sdk:
- repo: azure-sdk-for-node
- repo: azure-sdk-for-ruby
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js cdn/resource-manager
```
@@ -189,7 +187,5 @@ See configuration in [readme.node.md](./readme.node.md)
See configuration in [readme.ruby.md](./readme.ruby.md)
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
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/readme.azureresourceschema.md b/specification/changeanalysis/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index 1ff06754928a..000000000000
--- a/specification/changeanalysis/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,24 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-changeanalysis-2020-04-01-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-changeanalysis-2020-04-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-changeanalysis-2020-04-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ChangeAnalysis/preview/2020-04-01-preview/changeanalysis.json
-
-```
diff --git a/specification/changeanalysis/resource-manager/readme.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 6ffc3f742781..82e40f5667c7 100644
--- a/specification/changeanalysis/resource-manager/readme.md
+++ b/specification/changeanalysis/resource-manager/readme.md
@@ -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
@@ -66,8 +66,6 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_changeanalysis']
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js changeanalysis/resource-manager
```
## Go
@@ -125,7 +123,5 @@ directive:
}
```
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
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=`.
-
-### Tag: schema-portal-2018-10-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-portal-2018-10-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Portal/stable/2018-10-01/CloudShell.json
-
-```
diff --git a/specification/cloudshell/resource-manager/readme.md b/specification/cloudshell/resource-manager/readme.md
index d1f360640baa..cf3888a1d0c7 100644
--- a/specification/cloudshell/resource-manager/readme.md
+++ b/specification/cloudshell/resource-manager/readme.md
@@ -57,8 +57,6 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_cloudshell']
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js cloudshell/resource-manager
```
## Go
@@ -149,7 +147,5 @@ csharp:
namespace: Microsoft.CloudShell
output-folder: $(csharp-sdks-folder)/CloudShell/management/Microsoft.CloudShell/GeneratedProtocol
```
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/AnomalyDetector.json b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/AnomalyDetector.json
new file mode 100644
index 000000000000..a0305e1b1dd0
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/AnomalyDetector.json
@@ -0,0 +1,504 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "1.1-preview",
+ "title": "Anomaly Detector Client",
+ "description": "The Anomaly Detector API detects anomalies automatically in time series data. It supports two kinds of mode, one is for stateless using, another is for stateful using. In stateless mode, there are three functionalities. Entire Detect is for detecting the whole series with model trained by the time series, Last Detect is detecting last point with model trained by points before. ChangePoint Detect is for detecting trend changes in time series. In stateful mode, user can store time series, the stored time series will be used for detection anomalies. Under this mode, user can still use the above three functionalities by only giving a time range without preparing time series in client side. Besides the above three functionalities, stateful model also provide group based detection and labeling service. By leveraging labeling service user can provide labels for each detection result, these labels will be used for retuning or regenerating detection models. Inconsistency detection is a kind of group based detection, this detection will find inconsistency ones in a set of time series. By using anomaly detector service, business customers can discover incidents and establish a logic flow for root cause analysis."
+ },
+ "securityDefinitions": {
+ "apiKeyHeader": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apiKeyHeader": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}/anomalydetector/v1.1-preview",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ },
+ "paths": {
+ "/timeseries/entire/detect": {
+ "post": {
+ "summary": "Detect anomalies for the entire series in batch.",
+ "description": "This operation generates a model with an entire series, each point is detected with the same model. With this method, points before and after a certain point are used to determine whether it is an anomaly. The entire detection can give user an overall status of the time series.",
+ "operationId": "DetectEntireSeries",
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Time series points and period if needed. Advanced model parameters can also be set in the request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DetectRequest"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation.",
+ "schema": {
+ "$ref": "#/definitions/EntireDetectResponse"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/AnomalyDetectorError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Find anomalies for the entire series in batch example": {
+ "$ref": "./examples/EntireDetect.json"
+ }
+ }
+ }
+ },
+ "/timeseries/last/detect": {
+ "post": {
+ "summary": "Detect anomaly status of the latest point in time series.",
+ "description": "This operation generates a model using points before the latest one. With this method, only historical points are used to determine whether the target point is an anomaly. The latest point detecting operation matches the scenario of real-time monitoring of business metrics.",
+ "operationId": "DetectLastPoint",
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Time series points and period if needed. Advanced model parameters can also be set in the request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DetectRequest"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation.",
+ "schema": {
+ "$ref": "#/definitions/LastDetectResponse"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/AnomalyDetectorError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Detect anomaly status of the latest point in time series example": {
+ "$ref": "./examples/LastDetect.json"
+ }
+ }
+ }
+ },
+ "/timeseries/changepoint/detect": {
+ "post": {
+ "summary": "Detect change point for the entire series",
+ "description": "Evaluate change point score of every series point",
+ "operationId": "DetectChangePoint",
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Time series points and granularity is needed. Advanced model parameters can also be set in the request if needed.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ChangePointDetectRequest"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation.",
+ "schema": {
+ "$ref": "#/definitions/ChangePointDetectResponse"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/AnomalyDetectorError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Detect change point example": {
+ "$ref": "./examples/ChangePointDetect.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AnomalyDetectorError": {
+ "type": "object",
+ "description": "Error information returned by the API.",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "enum": [
+ "InvalidCustomInterval",
+ "BadArgument",
+ "InvalidGranularity",
+ "InvalidPeriod",
+ "InvalidModelArgument",
+ "InvalidSeries",
+ "InvalidJsonFormat",
+ "RequiredGranularity",
+ "RequiredSeries"
+ ],
+ "x-ms-enum": {
+ "name": "AnomalyDetectorErrorCodes",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "A message explaining the error reported by the service.",
+ "type": "string"
+ }
+ }
+ },
+ "TimeGranularity": {
+ "type": "string",
+ "description": "Optional argument, can be one of yearly, monthly, weekly, daily, hourly, minutely, secondly, microsecond or none. If granularity is not present, it will be none by default. If granularity is none, the timestamp property in time series point can be absent.",
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "TimeGranularity",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "yearly"
+ },
+ {
+ "value": "monthly"
+ },
+ {
+ "value": "weekly"
+ },
+ {
+ "value": "daily"
+ },
+ {
+ "value": "hourly"
+ },
+ {
+ "name": "perMinute",
+ "value": "minutely"
+ },
+ {
+ "name": "perSecond",
+ "value": "secondly"
+ },
+ {
+ "value": "microsecond"
+ },
+ {
+ "value": "none"
+ }
+ ]
+ },
+ "enum": [
+ "yearly",
+ "monthly",
+ "weekly",
+ "daily",
+ "hourly",
+ "minutely",
+ "secondly",
+ "microsecond",
+ "none"
+ ]
+ },
+ "CustomInterval": {
+ "type": "integer",
+ "format": "int32",
+ "x-nullable": false,
+ "description": "Custom Interval is used to set non-standard time interval, for example, if the series is 5 minutes, request can be set as {\"granularity\":\"minutely\", \"customInterval\":5}."
+ },
+ "DetectRequest": {
+ "type": "object",
+ "required": [
+ "series"
+ ],
+ "properties": {
+ "series": {
+ "type": "array",
+ "description": "Time series data points. Points should be sorted by timestamp in ascending order to match the anomaly detection result. If the data is not sorted correctly or there is duplicated timestamp, the API will not work. In such case, an error message will be returned.",
+ "items": {
+ "$ref": "#/definitions/TimeSeriesPoint"
+ }
+ },
+ "granularity": {
+ "$ref": "#/definitions/TimeGranularity"
+ },
+ "customInterval": {
+ "description": "Custom Interval is used to set non-standard time interval, for example, if the series is 5 minutes, request can be set as {\"granularity\":\"minutely\", \"customInterval\":5}.",
+ "$ref": "#/definitions/CustomInterval"
+ },
+ "period": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Optional argument, periodic value of a time series. If the value is null or does not present, the API will determine the period automatically."
+ },
+ "maxAnomalyRatio": {
+ "type": "number",
+ "format": "float",
+ "description": "Optional argument, advanced model parameter, max anomaly ratio in a time series."
+ },
+ "sensitivity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Optional argument, advanced model parameter, between 0-99, the lower the value is, the larger the margin value will be which means less anomalies will be accepted."
+ }
+ }
+ },
+ "TimeSeriesPoint": {
+ "type": "object",
+ "required": [
+ "value"
+ ],
+ "properties": {
+ "timestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Optional argument, timestamp of a data point (ISO8601 format)."
+ },
+ "value": {
+ "type": "number",
+ "format": "float",
+ "description": "The measurement of that point, should be float."
+ }
+ }
+ },
+ "EntireDetectResponse": {
+ "type": "object",
+ "required": [
+ "expectedValues",
+ "isAnomaly",
+ "isNegativeAnomaly",
+ "isPositiveAnomaly",
+ "lowerMargins",
+ "period",
+ "upperMargins"
+ ],
+ "properties": {
+ "period": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Frequency extracted from the series, zero means no recurrent pattern has been found."
+ },
+ "expectedValues": {
+ "type": "array",
+ "description": "ExpectedValues contain expected value for each input point. The index of the array is consistent with the input series.",
+ "items": {
+ "type": "number",
+ "format": "float",
+ "x-nullable": false
+ }
+ },
+ "upperMargins": {
+ "type": "array",
+ "description": "UpperMargins contain upper margin of each input point. UpperMargin is used to calculate upperBoundary, which equals to expectedValue + (100 - marginScale)*upperMargin. Anomalies in response can be filtered by upperBoundary and lowerBoundary. By adjusting marginScale value, less significant anomalies can be filtered in client side. The index of the array is consistent with the input series.",
+ "items": {
+ "type": "number",
+ "format": "float",
+ "x-nullable": false
+ }
+ },
+ "lowerMargins": {
+ "type": "array",
+ "description": "LowerMargins contain lower margin of each input point. LowerMargin is used to calculate lowerBoundary, which equals to expectedValue - (100 - marginScale)*lowerMargin. Points between the boundary can be marked as normal ones in client side. The index of the array is consistent with the input series.",
+ "items": {
+ "type": "number",
+ "format": "float",
+ "x-nullable": false
+ }
+ },
+ "isAnomaly": {
+ "type": "array",
+ "description": "IsAnomaly contains anomaly properties for each input point. True means an anomaly either negative or positive has been detected. The index of the array is consistent with the input series.",
+ "items": {
+ "type": "boolean",
+ "x-nullable": false
+ }
+ },
+ "isNegativeAnomaly": {
+ "type": "array",
+ "description": "IsNegativeAnomaly contains anomaly status in negative direction for each input point. True means a negative anomaly has been detected. A negative anomaly means the point is detected as an anomaly and its real value is smaller than the expected one. The index of the array is consistent with the input series.",
+ "items": {
+ "type": "boolean",
+ "x-nullable": false
+ }
+ },
+ "isPositiveAnomaly": {
+ "type": "array",
+ "description": "IsPositiveAnomaly contain anomaly status in positive direction for each input point. True means a positive anomaly has been detected. A positive anomaly means the point is detected as an anomaly and its real value is larger than the expected one. The index of the array is consistent with the input series.",
+ "items": {
+ "type": "boolean",
+ "x-nullable": false
+ }
+ }
+ }
+ },
+ "LastDetectResponse": {
+ "type": "object",
+ "required": [
+ "expectedValue",
+ "isAnomaly",
+ "isNegativeAnomaly",
+ "isPositiveAnomaly",
+ "lowerMargin",
+ "period",
+ "upperMargin",
+ "suggestedWindow"
+ ],
+ "properties": {
+ "period": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Frequency extracted from the series, zero means no recurrent pattern has been found."
+ },
+ "suggestedWindow": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Suggested input series points needed for detecting the latest point."
+ },
+ "expectedValue": {
+ "type": "number",
+ "format": "float",
+ "description": "Expected value of the latest point."
+ },
+ "upperMargin": {
+ "type": "number",
+ "format": "float",
+ "description": "Upper margin of the latest point. UpperMargin is used to calculate upperBoundary, which equals to expectedValue + (100 - marginScale)*upperMargin. If the value of latest point is between upperBoundary and lowerBoundary, it should be treated as normal value. By adjusting marginScale value, anomaly status of latest point can be changed."
+ },
+ "lowerMargin": {
+ "type": "number",
+ "format": "float",
+ "description": "Lower margin of the latest point. LowerMargin is used to calculate lowerBoundary, which equals to expectedValue - (100 - marginScale)*lowerMargin. "
+ },
+ "isAnomaly": {
+ "type": "boolean",
+ "description": "Anomaly status of the latest point, true means the latest point is an anomaly either in negative direction or positive direction."
+ },
+ "isNegativeAnomaly": {
+ "type": "boolean",
+ "description": "Anomaly status in negative direction of the latest point. True means the latest point is an anomaly and its real value is smaller than the expected one."
+ },
+ "isPositiveAnomaly": {
+ "type": "boolean",
+ "description": "Anomaly status in positive direction of the latest point. True means the latest point is an anomaly and its real value is larger than the expected one."
+ }
+ }
+ },
+ "ChangePointDetectRequest": {
+ "type": "object",
+ "required": [
+ "granularity",
+ "series"
+ ],
+ "properties": {
+ "series": {
+ "type": "array",
+ "description": "Time series data points. Points should be sorted by timestamp in ascending order to match the change point detection result.",
+ "items": {
+ "$ref": "#/definitions/TimeSeriesPoint"
+ }
+ },
+ "granularity": {
+ "$ref": "#/definitions/TimeGranularity",
+ "description": "Can only be one of yearly, monthly, weekly, daily, hourly, minutely or secondly. Granularity is used for verify whether input series is valid."
+ },
+ "customInterval": {
+ "description": "Custom Interval is used to set non-standard time interval, for example, if the series is 5 minutes, request can be set as {\"granularity\":\"minutely\", \"customInterval\":5}.",
+ "$ref": "#/definitions/CustomInterval"
+ },
+ "period": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Optional argument, periodic value of a time series. If the value is null or does not present, the API will determine the period automatically."
+ },
+ "stableTrendWindow": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Optional argument, advanced model parameter, a default stableTrendWindow will be used in detection."
+ },
+ "threshold": {
+ "type": "number",
+ "format": "float",
+ "description": "Optional argument, advanced model parameter, between 0.0-1.0, the lower the value is, the larger the trend error will be which means less change point will be accepted."
+ }
+ }
+ },
+ "ChangePointDetectResponse": {
+ "type": "object",
+ "properties": {
+ "period": {
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true,
+ "description": "Frequency extracted from the series, zero means no recurrent pattern has been found."
+ },
+ "isChangePoint": {
+ "type": "array",
+ "description": "isChangePoint contains change point properties for each input point. True means an anomaly either negative or positive has been detected. The index of the array is consistent with the input series.",
+ "items": {
+ "type": "boolean",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ },
+ "confidenceScores": {
+ "type": "array",
+ "description": "the change point confidence of each point",
+ "items": {
+ "type": "number",
+ "format": "float",
+ "readOnly": true,
+ "x-nullable": false
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "Endpoint": {
+ "name": "Endpoint",
+ "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus2.api.cognitive.microsoft.com).",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/MultivariateAnomalyDetector.json b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/MultivariateAnomalyDetector.json
new file mode 100644
index 000000000000..efb9bd3355a5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/MultivariateAnomalyDetector.json
@@ -0,0 +1,1049 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "1.1-preview",
+ "title": "Anomaly Detector Client",
+ "description": "The Anomaly Detector API detects anomalies automatically in time series data. It supports two kinds of mode, one is for stateless using, another is for stateful using. In stateless mode, there are three functionalities. Entire Detect is for detecting the whole series with model trained by the time series, Last Detect is detecting last point with model trained by points before. ChangePoint Detect is for detecting trend changes in time series. In stateful mode, user can store time series, the stored time series will be used for detection anomalies. Under this mode, user can still use the above three functionalities by only giving a time range without preparing time series in client side. Besides the above three functionalities, stateful model also provide group based detection and labeling service. By leveraging labeling service user can provide labels for each detection result, these labels will be used for retuning or regenerating detection models. Inconsistency detection is a kind of group based detection, this detection will find inconsistency ones in a set of time series. By using anomaly detector service, business customers can discover incidents and establish a logic flow for root cause analysis."
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ {
+ "name": "MultivariateAnomalyDetection"
+ }
+ ],
+ "securityDefinitions": {
+ "apiKeyHeader": {
+ "type": "apiKey",
+ "in": "header",
+ "name": "Ocp-Apim-Subscription-Key"
+ }
+ },
+ "security": [
+ {
+ "apiKeyHeader": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}/anomalydetector/v1.1-preview",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/multivariate/models": {
+ "post": {
+ "responses": {
+ "201": {
+ "description": "Submit a multivariate model training task successfully.",
+ "headers": {
+ "Location": {
+ "type": "string",
+ "description": "Location and ID of the model being saved."
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "summary": "Train a Multivariate Anomaly Detection Model",
+ "operationId": "TrainMultivariateModel",
+ "parameters": [
+ {
+ "name": "modelRequest",
+ "in": "body",
+ "required": true,
+ "description": "Training request",
+ "schema": {
+ "$ref": "#/definitions/ModelInfo"
+ }
+ }
+ ],
+ "tags": [
+ "MultivariateAnomalyDetection"
+ ],
+ "x-ms-examples": {
+ "Train Multivariate model": {
+ "$ref": "./examples/TrainModel.json"
+ }
+ },
+ "description": "Create and train a multivariate anomaly detection model. The request must include a source parameter to indicate an externally accessible Azure storage Uri (preferably a Shared Access Signature Uri). All time-series used in generate the model must be zipped into one single file. Each time-series will be in a single CSV file in which the first column is timestamp and the second column is value."
+ }
+ },
+ "/multivariate/models/{modelId}": {
+ "parameters": [
+ {
+ "name": "modelId",
+ "description": "Model identifier.",
+ "format": "uuid",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "get": {
+ "responses": {
+ "200": {
+ "description": "Get multivariate model details successfully.",
+ "schema": {
+ "$ref": "#/definitions/Model"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "summary": "Get Multivariate Model",
+ "description": "Get detailed information of multivariate model, including the training status and variables used in the model.",
+ "operationId": "GetMultivariateModel",
+ "tags": [
+ "MultivariateAnomalyDetection"
+ ],
+ "x-ms-examples": {
+ "Get multivariate model": {
+ "$ref": "./examples/GetModel.json"
+ }
+ }
+ },
+ "delete": {
+ "responses": {
+ "204": {
+ "description": "Successfully marked model for deletion. Model will be removed within a predefined time period."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete multivariate model": {
+ "$ref": "./examples/DeleteModel.json"
+ }
+ },
+ "summary": "Delete Multivariate Model",
+ "description": "Delete an existing multivariate model according to the modelId",
+ "operationId": "DeleteMultivariateModel",
+ "tags": [
+ "MultivariateAnomalyDetection"
+ ]
+ }
+ },
+ "/multivariate/models/{modelId}/detect": {
+ "parameters": [
+ {
+ "name": "modelId",
+ "description": "Model identifier.",
+ "in": "path",
+ "format": "uuid",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "post": {
+ "responses": {
+ "201": {
+ "description": "Submit a multivariate model detection task successfully.",
+ "headers": {
+ "Location": {
+ "type": "string",
+ "description": "Location and ID of the detection result being saved."
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "summary": "Detect Multivariate Anomaly",
+ "description": "Submit detection multivariate anomaly task with the trained model of modelId, the input schema should be the same with the training request. Thus request will be complete asynchronously and will return a resultId for querying the detection result.The request should be a source link to indicate an externally accessible Azure storage Uri (preferably a Shared Access Signature Uri). All time-series used in generate the model must be zipped into one single file. Each time-series will be as follows: the first column is timestamp and the second column is value.",
+ "operationId": "DetectAnomaly",
+ "x-ms-examples": {
+ "Detect anomaly with multivariate Model": {
+ "$ref": "./examples/DetectAnomaly.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "detectionRequest",
+ "description": "Detect anomaly request",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/DetectionRequest"
+ }
+ }
+ ],
+ "tags": [
+ "MultivariateAnomalyDetection"
+ ]
+ }
+ },
+ "/multivariate/results/{resultId}": {
+ "parameters": [
+ {
+ "name": "resultId",
+ "description": "Result identifier.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "get": {
+ "responses": {
+ "200": {
+ "description": "Get Multivariate Anomaly Detection Result by Result Id.",
+ "schema": {
+ "$ref": "#/definitions/DetectionResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get detection result": {
+ "$ref": "./examples/GetResult.json"
+ }
+ },
+ "summary": "Get Multivariate Anomaly Detection Result",
+ "operationId": "GetDetectionResult",
+ "description": "Get multivariate anomaly detection result based on resultId returned by the DetectAnomalyAsync api",
+ "tags": [
+ "MultivariateAnomalyDetection"
+ ]
+ }
+ },
+ "/multivariate/models/{modelId}/export": {
+ "parameters": [
+ {
+ "name": "modelId",
+ "description": "Model identifier.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "get": {
+ "responses": {
+ "200": {
+ "description": "Export the multivariate model as a zip package.",
+ "headers": {
+ "content-type": {
+ "description": "application/zip",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "type": "object",
+ "format": "file"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get detection result": {
+ "$ref": "./examples/ExportModel.json"
+ }
+ },
+ "summary": "Export Multivariate Anomaly Detection Model as Zip file",
+ "description": "Export multivariate anomaly detection model based on modelId",
+ "operationId": "ExportModel",
+ "produces": [
+ "application/zip"
+ ],
+ "tags": [
+ "MultivariateAnomalyDetection"
+ ]
+ }
+ }
+ },
+ "x-ms-paths": {
+ "/multivariate/models?$skip=0&$top=5": {
+ "get": {
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ModelList"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "summary": "List Multivariate Models",
+ "operationId": "ListMultivariateModel",
+ "parameters": [
+ {
+ "name": "$skip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "default": 0,
+ "description": "$skip indicates how many models will be skipped."
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "default": 5,
+ "description": "$top indicates how many models will be fetched."
+ }
+ ],
+ "tags": [
+ "MultivariateAnomalyDetection"
+ ],
+ "x-ms-examples": {
+ "List Multivariate model": {
+ "$ref": "./examples/ListModel.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "models"
+ },
+ "description": "List models of a subscription"
+ }
+ }
+ },
+ "definitions": {
+ "Model": {
+ "required": [
+ "createdTime",
+ "lastUpdatedTime",
+ "modelId"
+ ],
+ "properties": {
+ "modelId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Model identifier.",
+ "example": "45aad126-aafd-11ea-b8fb-d89ef3400c5f"
+ },
+ "createdTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date and time (UTC) when the model was created.",
+ "example": "2020-06-30T00:00:00Z"
+ },
+ "lastUpdatedTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date and time (UTC) when the model was last updated.",
+ "example": "2020-06-30T00:00:00Z"
+ },
+ "modelInfo": {
+ "description": "Training Status of the model.",
+ "$ref": "#/definitions/ModelInfo"
+ }
+ },
+ "type": "object",
+ "description": "Response of get model."
+ },
+ "ModelStatus": {
+ "type": "string",
+ "description": "Model training status.",
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "modelStatus",
+ "modelAsString": false
+ },
+ "example": "READY",
+ "readOnly": true,
+ "enum": [
+ "CREATED",
+ "RUNNING",
+ "READY",
+ "FAILED"
+ ]
+ },
+ "ModelInfo": {
+ "required": [
+ "endTime",
+ "source",
+ "startTime"
+ ],
+ "properties": {
+ "slidingWindow": {
+ "type": "integer",
+ "description": "An optional field, indicates how many history points will be used to determine the anomaly score of one subsequent point.",
+ "example": 20
+ },
+ "alignPolicy": {
+ "description": "An optional field, since those multivariate need to be aligned in the same timestamp before starting the detection.",
+ "$ref": "#/definitions/AlignPolicy"
+ },
+ "source": {
+ "type": "string",
+ "description": "source file link of the input variables, each variable will be a csv with two columns, the first column will be timestamp, the second column will be value.Besides these variable csv files, an extra meta.json can be included in th zip file if you would like to rename a variable.Be default, the file name of the variable will be used as the variable name.",
+ "example": "https://multiadsample.blob.core.windows.net/data/sample_data_2_1000.zip?sp=rl&st=2020-12-04T06:03:47Z&se=2022-12-05T06:03:00Z&sv=2019-12-12&sr=b&sig=AZTbvZ7fcp3MdqGY%2FvGHJXJjUgjS4DneCGl7U5omq5c%3D"
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "require field, start time of data be used for generating multivariate anomaly detection model, should be data-time",
+ "example": "2019-04-01T00:00:00Z"
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "require field, end time of data be used for generating multivariate anomaly detection model, should be data-time",
+ "example": "2019-04-02T00:00:00Z"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "optional field, name of the model",
+ "example": "DevOps-MultiAD",
+ "maxLength": 24
+ },
+ "status": {
+ "$ref": "#/definitions/ModelStatus"
+ },
+ "errors": {
+ "type": "array",
+ "description": "Error message when fails to create a model.",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "diagnosticsInfo": {
+ "$ref": "#/definitions/DiagnosticsInfo",
+ "description": "Used for deep analysis model and variables"
+ }
+ },
+ "type": "object",
+ "description": "Train result of a model including status, errors and diagnose info for model and variables."
+ },
+ "ErrorResponse": {
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "x-nullable": false,
+ "description": "The error Code"
+ },
+ "message": {
+ "type": "string",
+ "x-nullable": false,
+ "description": "A message explaining the error reported by the service."
+ }
+ },
+ "type": "object"
+ },
+ "DiagnosticsInfo": {
+ "properties": {
+ "modelState": {
+ "$ref": "#/definitions/ModelState"
+ },
+ "variableStates": {
+ "type": "array",
+ "example": [
+ {
+ "variable": "ad_input",
+ "filledNARatio": 0,
+ "effectiveCount": 1441,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-02T00:00:00Z",
+ "errors": []
+ },
+ {
+ "variable": "ad_on_timer_output",
+ "filledNARatio": 0,
+ "effectiveCount": 1441,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-02T00:00:00Z",
+ "errors": []
+ },
+ {
+ "variable": "ingestion",
+ "filledNARatio": 0,
+ "effectiveCount": 1441,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-02T00:00:00Z",
+ "errors": []
+ },
+ {
+ "variable": "data_in_speed",
+ "filledNARatio": 0,
+ "effectiveCount": 1441,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-02T00:00:00Z",
+ "errors": []
+ },
+ {
+ "variable": "cpu",
+ "filledNARatio": 0,
+ "effectiveCount": 1441,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-02T00:00:00Z",
+ "errors": []
+ },
+ {
+ "variable": "ad_series_init",
+ "filledNARatio": 0,
+ "effectiveCount": 1441,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-02T00:00:00Z",
+ "errors": []
+ },
+ {
+ "variable": "F-Link_last_check_point_duration",
+ "filledNARatio": 0,
+ "effectiveCount": 1441,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-02T00:00:00Z",
+ "errors": []
+ },
+ {
+ "variable": "data_out_speed",
+ "filledNARatio": 0,
+ "effectiveCount": 1441,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-02T00:00:00Z",
+ "errors": []
+ },
+ {
+ "variable": "ad_output",
+ "filledNARatio": 0,
+ "effectiveCount": 1441,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-02T00:00:00Z",
+ "errors": []
+ }
+ ],
+ "items": {
+ "$ref": "#/definitions/VariableState"
+ }
+ }
+ },
+ "readOnly": true,
+ "type": "object"
+ },
+ "AlignPolicy": {
+ "properties": {
+ "alignMode": {
+ "type": "string",
+ "description": "An optional field, indicates how we align different variables into the same time-range which is required by the model.{Inner, Outer}",
+ "example": "Outer",
+ "enum": [
+ "Inner",
+ "Outer"
+ ],
+ "x-ms-enum": {
+ "name": "alignMode",
+ "modelAsString": false
+ }
+ },
+ "fillNAMethod": {
+ "type": "string",
+ "description": "An optional field, indicates how missed values will be filled with. Can not be set to NotFill, when alignMode is Outer.{Previous, Subsequent, Linear, Zero, Fix, NotFill}",
+ "example": "Linear",
+ "enum": [
+ "Previous",
+ "Subsequent",
+ "Linear",
+ "Zero",
+ "Pad",
+ "NotFill"
+ ],
+ "x-ms-enum": {
+ "name": "fillNAMethod",
+ "modelAsString": false
+ }
+ },
+ "paddingValue": {
+ "type": "integer",
+ "description": "optional field, only be useful if FillNAMethod is set to Pad."
+ }
+ },
+ "type": "object"
+ },
+ "ModelState": {
+ "properties": {
+ "epochIds": {
+ "type": "array",
+ "description": "Epoch id",
+ "example": [
+ 10,
+ 20,
+ 30,
+ 40,
+ 50,
+ 60,
+ 70,
+ 80,
+ 90,
+ 100
+ ],
+ "items": {
+ "type": "integer"
+ }
+ },
+ "trainLosses": {
+ "type": "array",
+ "example": [
+ 0.6291328072547913,
+ 0.1671326905488968,
+ 0.12354248017072678,
+ 0.10259664058685303,
+ 0.09584927558898926,
+ 0.09069952368736267,
+ 0.08686016499996185,
+ 0.08603022992610931,
+ 0.08287354558706284,
+ 0.08235538005828857
+ ],
+ "items": {
+ "type": "number"
+ }
+ },
+ "validationLosses": {
+ "type": "array",
+ "example": [
+ 0.9573427438735962,
+ 0.3182229995727539,
+ 0.3402646481990814,
+ 0.27653488516807556,
+ 0.2574014365673065,
+ 0.26928603649139404,
+ 0.2637230455875397,
+ 0.2590833008289337,
+ 0.2597166895866394,
+ 0.25973501801490784
+ ],
+ "items": {
+ "type": "number"
+ }
+ },
+ "latenciesInSeconds": {
+ "type": "array",
+ "example": [
+ 0.3398594856262207,
+ 0.3659665584564209,
+ 0.37360644340515137,
+ 0.35134077072143555,
+ 0.33703041076660156,
+ 0.31876277923583984,
+ 0.32833099365234375,
+ 0.3503587245941162,
+ 0.3080024719238281,
+ 0.3327946662902832
+ ],
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "VariableState": {
+ "properties": {
+ "variable": {
+ "type": "string",
+ "description": "Variable name."
+ },
+ "filledNARatio": {
+ "type": "number",
+ "description": "Merged NA ratio of a variable.",
+ "minimum": 0,
+ "maximum": 1
+ },
+ "effectiveCount": {
+ "type": "integer",
+ "description": "Effective time-series points count."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start time of a variable"
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "End time of a variable"
+ },
+ "errors": {
+ "type": "array",
+ "description": "Error message when parse variable",
+ "items": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "ModelSnapshot": {
+ "required": [
+ "createdTime",
+ "lastUpdatedTime",
+ "modelId",
+ "status",
+ "variablesCount"
+ ],
+ "properties": {
+ "modelId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Model identifier.",
+ "example": "45aad126-aafd-11ea-b8fb-d89ef3400c5f"
+ },
+ "createdTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date and time (UTC) when the model was created.",
+ "example": "2020-06-30T00:00:00Z"
+ },
+ "lastUpdatedTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date and time (UTC) when the model was last updated.",
+ "example": "2020-06-30T00:00:00Z"
+ },
+ "status": {
+ "$ref": "#/definitions/ModelStatus"
+ },
+ "displayName": {
+ "type": "string",
+ "example": "DevOps-Test"
+ },
+ "variablesCount": {
+ "type": "integer",
+ "description": "Count of variables",
+ "example": 18
+ }
+ },
+ "type": "object"
+ },
+ "ModelList": {
+ "required": [
+ "currentCount",
+ "maxCount",
+ "models"
+ ],
+ "properties": {
+ "models": {
+ "type": "array",
+ "description": "List of models",
+ "items": {
+ "$ref": "#/definitions/ModelSnapshot"
+ }
+ },
+ "currentCount": {
+ "type": "integer",
+ "description": "Current count of trained multivariate models.",
+ "x-nullable": false,
+ "example": 10
+ },
+ "maxCount": {
+ "type": "integer",
+ "description": "Max number of models that can be trained for this subscription.",
+ "x-nullable": false,
+ "example": 20
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "next link to fetch more models"
+ }
+ },
+ "type": "object",
+ "description": "Response to the list models operation."
+ },
+ "DetectionRequest": {
+ "required": [
+ "source",
+ "endTime",
+ "startTime"
+ ],
+ "properties": {
+ "source": {
+ "type": "string",
+ "description": "source file link of the input variables, each variable will be a csv with two columns, the first column will be timestamp, the second column will be value.Besides these variable csv files, a extra meta.json can be included in th zip file if you would like to rename a variable.Be default, the file name of the variable will be used as the variable name. The variables used in detection should be consistent with variables in the model used for detection.",
+ "example": "https://multiadsample.blob.core.windows.net/data/sample_data_2_1000.zip?sp=rl&st=2020-12-04T06:03:47Z&se=2022-12-05T06:03:00Z&sv=2019-12-12&sr=b&sig=AZTbvZ7fcp3MdqGY%2FvGHJXJjUgjS4DneCGl7U5omq5c%3D"
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "A require field, start time of data be used for detection, should be date-time.",
+ "example": "2019-04-01T00:15:00Z"
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "A require field, end time of data be used for detection, should be date-time.",
+ "example": "2019-04-01T00:40:00Z"
+ }
+ },
+ "type": "object",
+ "description": "Request to submit a detection."
+ },
+ "DetectionResult": {
+ "required": [
+ "resultId",
+ "results",
+ "summary"
+ ],
+ "properties": {
+ "resultId": {
+ "type": "string",
+ "format": "uuid",
+ "example": "45aad126-aafd-11ea-b8fb-d89ef3400c5f"
+ },
+ "summary": {
+ "description": "Multivariate anomaly detection status",
+ "$ref": "#/definitions/DetectionResultSummary"
+ },
+ "results": {
+ "type": "array",
+ "description": "anomaly status of each timestamp",
+ "items": {
+ "$ref": "#/definitions/AnomalyState"
+ }
+ }
+ },
+ "type": "object",
+ "description": "Anomaly Response of one detection corresponds to a resultId."
+ },
+ "DetectionResultSummary": {
+ "required": [
+ "setupInfo",
+ "status"
+ ],
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Multivariate anomaly detection status",
+ "example": "READY",
+ "enum": [
+ "CREATED",
+ "RUNNING",
+ "READY",
+ "FAILED"
+ ],
+ "x-ms-enum": {
+ "name": "DetectionStatus",
+ "modelAsString": false
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Error message when creating or training model fails.",
+ "items": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "variableStates": {
+ "type": "array",
+ "example": [
+ {
+ "variable": "ad_input",
+ "filledNARatio": 0,
+ "effectiveCount": 26,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-01T00:25:00Z",
+ "errors": []
+ },
+ {
+ "variable": "ad_on_timer_output",
+ "filledNARatio": 0,
+ "effectiveCount": 26,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-01T00:25:00Z",
+ "errors": []
+ },
+ {
+ "variable": "ad_output",
+ "filledNARatio": 0,
+ "effectiveCount": 26,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-01T00:25:00Z",
+ "errors": []
+ },
+ {
+ "variable": "ad_series_init",
+ "filledNARatio": 0,
+ "effectiveCount": 26,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-01T00:25:00Z",
+ "errors": []
+ },
+ {
+ "variable": "cpu",
+ "filledNARatio": 0,
+ "effectiveCount": 26,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-01T00:25:00Z",
+ "errors": []
+ },
+ {
+ "variable": "data_in_speed",
+ "filledNARatio": 0,
+ "effectiveCount": 26,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-01T00:25:00Z",
+ "errors": []
+ },
+ {
+ "variable": "data_out_speed",
+ "filledNARatio": 0,
+ "effectiveCount": 26,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-01T00:25:00Z",
+ "errors": []
+ },
+ {
+ "variable": "F-Link_last_check_point_duration",
+ "filledNARatio": 0,
+ "effectiveCount": 26,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-01T00:25:00Z",
+ "errors": []
+ },
+ {
+ "variable": "ingestion",
+ "filledNARatio": 0,
+ "effectiveCount": 26,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-01T00:25:00Z",
+ "errors": []
+ }
+ ],
+ "items": {
+ "$ref": "#/definitions/VariableState"
+ }
+ },
+ "setupInfo": {
+ "description": "Request when creating the model.",
+ "$ref": "#/definitions/DetectionRequest"
+ }
+ },
+ "type": "object"
+ },
+ "AnomalyState": {
+ "required": [
+ "timestamp"
+ ],
+ "properties": {
+ "timestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "timestamp",
+ "example": "2020-01-01T00:00:00Z"
+ },
+ "value": {
+ "$ref": "#/definitions/AnomalyValue"
+ },
+ "errors": {
+ "type": "array",
+ "description": "Error message when inference this timestamp",
+ "items": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "AnomalyValue": {
+ "required": [
+ "isAnomaly",
+ "severity"
+ ],
+ "properties": {
+ "contributors": {
+ "type": "array",
+ "description": "If current timestamp is an anomaly, contributors will show potential root cause for thus anomaly. Contributors can help us understand why current timestamp has been detected as an anomaly.",
+ "items": {
+ "$ref": "#/definitions/AnomalyContributor"
+ }
+ },
+ "isAnomaly": {
+ "type": "boolean",
+ "description": "To indicate whether current timestamp is anomaly or not",
+ "example": true
+ },
+ "severity": {
+ "type": "number",
+ "description": "anomaly score of the current timestamp, the more significant an anomaly is, the higher the score will be",
+ "example": 0.8,
+ "minimum": 0,
+ "maximum": 1
+ },
+ "score": {
+ "type": "number",
+ "description": "anomaly score of the current timestamp, the more significant an anomaly is, the higher the score will be, score measures global significance",
+ "example": 0.1,
+ "minimum": 0,
+ "maximum": 2
+ }
+ },
+ "type": "object"
+ },
+ "AnomalyContributor": {
+ "properties": {
+ "contributionScore": {
+ "type": "number",
+ "description": "The higher the contribution score is, the more likely the variable to be the root cause of a anomaly.",
+ "example": 0.6,
+ "minimum": 0,
+ "maximum": 2
+ },
+ "variable": {
+ "type": "string",
+ "description": "Variable name of a contributor",
+ "example": "ingestion"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "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
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/ChangePointDetect.json b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/ChangePointDetect.json
new file mode 100644
index 000000000000..e8866dadda32
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/ChangePointDetect.json
@@ -0,0 +1,1569 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {
+ "series": [
+ {
+ "timestamp": "2017-01-01T06:45:00Z",
+ "value": 1639196
+ },
+ {
+ "timestamp": "2017-01-01T06:50:00Z",
+ "value": 1639290
+ },
+ {
+ "timestamp": "2017-01-01T06:55:00Z",
+ "value": 1667293
+ },
+ {
+ "timestamp": "2017-01-01T07:00:00Z",
+ "value": 1703130
+ },
+ {
+ "timestamp": "2017-01-01T07:05:00Z",
+ "value": 1650912
+ },
+ {
+ "timestamp": "2017-01-01T07:10:00Z",
+ "value": 1653596
+ },
+ {
+ "timestamp": "2017-01-01T07:15:00Z",
+ "value": 1653793
+ },
+ {
+ "timestamp": "2017-01-01T07:20:00Z",
+ "value": 1653795
+ },
+ {
+ "timestamp": "2017-01-01T07:25:00Z",
+ "value": 1663471
+ },
+ {
+ "timestamp": "2017-01-01T07:30:00Z",
+ "value": 1662358
+ },
+ {
+ "timestamp": "2017-01-01T07:35:00Z",
+ "value": 1664320
+ },
+ {
+ "timestamp": "2017-01-01T07:40:00Z",
+ "value": 1664942
+ },
+ {
+ "timestamp": "2017-01-01T07:45:00Z",
+ "value": 1664966
+ },
+ {
+ "timestamp": "2017-01-01T07:50:00Z",
+ "value": 1724271
+ },
+ {
+ "timestamp": "2017-01-01T07:55:00Z",
+ "value": 1678720
+ },
+ {
+ "timestamp": "2017-01-01T08:00:00Z",
+ "value": 1672536
+ },
+ {
+ "timestamp": "2017-01-01T08:05:00Z",
+ "value": 1672544
+ },
+ {
+ "timestamp": "2017-01-01T08:10:00Z",
+ "value": 1672364
+ },
+ {
+ "timestamp": "2017-01-01T08:15:00Z",
+ "value": 1672912
+ },
+ {
+ "timestamp": "2017-01-01T08:20:00Z",
+ "value": 1672736
+ },
+ {
+ "timestamp": "2017-01-01T08:25:00Z",
+ "value": 1672725
+ },
+ {
+ "timestamp": "2017-01-01T08:30:00Z",
+ "value": 1673247
+ },
+ {
+ "timestamp": "2017-01-01T08:35:00Z",
+ "value": 1673109
+ },
+ {
+ "timestamp": "2017-01-01T08:40:00Z",
+ "value": 1690088
+ },
+ {
+ "timestamp": "2017-01-01T08:45:00Z",
+ "value": 1703865
+ },
+ {
+ "timestamp": "2017-01-01T08:50:00Z",
+ "value": 1703865
+ },
+ {
+ "timestamp": "2017-01-01T08:55:00Z",
+ "value": 1786581
+ },
+ {
+ "timestamp": "2017-01-01T09:00:00Z",
+ "value": 1800945
+ },
+ {
+ "timestamp": "2017-01-01T09:05:00Z",
+ "value": 1800957
+ },
+ {
+ "timestamp": "2017-01-01T09:10:00Z",
+ "value": 1801191
+ },
+ {
+ "timestamp": "2017-01-01T09:15:00Z",
+ "value": 1801412
+ },
+ {
+ "timestamp": "2017-01-01T09:20:00Z",
+ "value": 1801621
+ },
+ {
+ "timestamp": "2017-01-01T09:25:00Z",
+ "value": 1801621
+ },
+ {
+ "timestamp": "2017-01-01T09:30:00Z",
+ "value": 1801654
+ },
+ {
+ "timestamp": "2017-01-01T09:35:00Z",
+ "value": 1802105
+ },
+ {
+ "timestamp": "2017-01-01T09:40:00Z",
+ "value": 1801800
+ },
+ {
+ "timestamp": "2017-01-01T09:45:00Z",
+ "value": 1803040
+ },
+ {
+ "timestamp": "2017-01-01T09:50:00Z",
+ "value": 1803672
+ },
+ {
+ "timestamp": "2017-01-01T09:55:00Z",
+ "value": 1803535
+ },
+ {
+ "timestamp": "2017-01-01T10:00:00Z",
+ "value": 1803541
+ },
+ {
+ "timestamp": "2017-01-01T10:05:00Z",
+ "value": 1803545
+ },
+ {
+ "timestamp": "2017-01-01T10:10:00Z",
+ "value": 1803599
+ },
+ {
+ "timestamp": "2017-01-01T10:15:00Z",
+ "value": 1803616
+ },
+ {
+ "timestamp": "2017-01-01T10:20:00Z",
+ "value": 1803619
+ },
+ {
+ "timestamp": "2017-01-01T10:25:00Z",
+ "value": 1809942
+ },
+ {
+ "timestamp": "2017-01-01T10:30:00Z",
+ "value": 1802720
+ },
+ {
+ "timestamp": "2017-01-01T10:35:00Z",
+ "value": 1802720
+ },
+ {
+ "timestamp": "2017-01-01T10:40:00Z",
+ "value": 1802888
+ },
+ {
+ "timestamp": "2017-01-01T10:45:00Z",
+ "value": 1809574
+ },
+ {
+ "timestamp": "2017-01-01T10:50:00Z",
+ "value": 1803896
+ },
+ {
+ "timestamp": "2017-01-01T10:55:00Z",
+ "value": 1803850
+ },
+ {
+ "timestamp": "2017-01-01T11:00:00Z",
+ "value": 1803854
+ },
+ {
+ "timestamp": "2017-01-01T11:05:00Z",
+ "value": 1803854
+ },
+ {
+ "timestamp": "2017-01-01T11:10:00Z",
+ "value": 1803797
+ },
+ {
+ "timestamp": "2017-01-01T11:15:00Z",
+ "value": 1803921
+ },
+ {
+ "timestamp": "2017-01-01T11:20:00Z",
+ "value": 1803933
+ },
+ {
+ "timestamp": "2017-01-01T11:25:00Z",
+ "value": 1804040
+ },
+ {
+ "timestamp": "2017-01-01T11:30:00Z",
+ "value": 1804044
+ },
+ {
+ "timestamp": "2017-01-01T11:35:00Z",
+ "value": 1804070
+ },
+ {
+ "timestamp": "2017-01-01T11:40:00Z",
+ "value": 1804070
+ },
+ {
+ "timestamp": "2017-01-01T11:45:00Z",
+ "value": 1804068
+ },
+ {
+ "timestamp": "2017-01-01T11:50:00Z",
+ "value": 1804073
+ },
+ {
+ "timestamp": "2017-01-01T11:55:00Z",
+ "value": 1804101
+ },
+ {
+ "timestamp": "2017-01-01T12:00:00Z",
+ "value": 1804674
+ },
+ {
+ "timestamp": "2017-01-01T12:05:00Z",
+ "value": 1804714
+ },
+ {
+ "timestamp": "2017-01-01T12:10:00Z",
+ "value": 1804730
+ },
+ {
+ "timestamp": "2017-01-01T12:15:00Z",
+ "value": 1804816
+ },
+ {
+ "timestamp": "2017-01-01T12:20:00Z",
+ "value": 1803996
+ },
+ {
+ "timestamp": "2017-01-01T12:25:00Z",
+ "value": 1803998
+ },
+ {
+ "timestamp": "2017-01-01T12:30:00Z",
+ "value": 1804015
+ },
+ {
+ "timestamp": "2017-01-01T12:35:00Z",
+ "value": 1804047
+ },
+ {
+ "timestamp": "2017-01-01T12:40:00Z",
+ "value": 1804050
+ },
+ {
+ "timestamp": "2017-01-01T12:45:00Z",
+ "value": 1804218
+ },
+ {
+ "timestamp": "2017-01-01T12:50:00Z",
+ "value": 1804217
+ },
+ {
+ "timestamp": "2017-01-01T12:55:00Z",
+ "value": 1804217
+ },
+ {
+ "timestamp": "2017-01-01T13:00:00Z",
+ "value": 1804205
+ },
+ {
+ "timestamp": "2017-01-01T13:05:00Z",
+ "value": 1804728
+ },
+ {
+ "timestamp": "2017-01-01T13:10:00Z",
+ "value": 1804748
+ },
+ {
+ "timestamp": "2017-01-01T13:15:00Z",
+ "value": 1805232
+ },
+ {
+ "timestamp": "2017-01-01T13:20:00Z",
+ "value": 1814121
+ },
+ {
+ "timestamp": "2017-01-01T13:25:00Z",
+ "value": 1806789
+ },
+ {
+ "timestamp": "2017-01-01T13:30:00Z",
+ "value": 1806119
+ },
+ {
+ "timestamp": "2017-01-01T13:35:00Z",
+ "value": 1806329
+ },
+ {
+ "timestamp": "2017-01-01T13:40:00Z",
+ "value": 1806454
+ },
+ {
+ "timestamp": "2017-01-01T13:45:00Z",
+ "value": 1806852
+ },
+ {
+ "timestamp": "2017-01-01T13:50:00Z",
+ "value": 1807347
+ },
+ {
+ "timestamp": "2017-01-01T13:55:00Z",
+ "value": 1812144
+ },
+ {
+ "timestamp": "2017-01-01T14:00:00Z",
+ "value": 1807418
+ },
+ {
+ "timestamp": "2017-01-01T14:05:00Z",
+ "value": 1807418
+ },
+ {
+ "timestamp": "2017-01-01T14:10:00Z",
+ "value": 1807432
+ },
+ {
+ "timestamp": "2017-01-01T14:15:00Z",
+ "value": 1808540
+ },
+ {
+ "timestamp": "2017-01-01T14:20:00Z",
+ "value": 1808541
+ },
+ {
+ "timestamp": "2017-01-01T14:25:00Z",
+ "value": 1807831
+ },
+ {
+ "timestamp": "2017-01-01T14:30:00Z",
+ "value": 1807852
+ },
+ {
+ "timestamp": "2017-01-01T14:35:00Z",
+ "value": 1807811
+ },
+ {
+ "timestamp": "2017-01-01T14:40:00Z",
+ "value": 2214285
+ },
+ {
+ "timestamp": "2017-01-01T14:45:00Z",
+ "value": 2215019
+ },
+ {
+ "timestamp": "2017-01-01T14:50:00Z",
+ "value": 2215329
+ },
+ {
+ "timestamp": "2017-01-01T14:55:00Z",
+ "value": 2215097
+ },
+ {
+ "timestamp": "2017-01-01T15:00:00Z",
+ "value": 2215129
+ },
+ {
+ "timestamp": "2017-01-01T15:05:00Z",
+ "value": 2215120
+ },
+ {
+ "timestamp": "2017-01-01T15:10:00Z",
+ "value": 2217056
+ },
+ {
+ "timestamp": "2017-01-01T15:15:00Z",
+ "value": 2217056
+ },
+ {
+ "timestamp": "2017-01-01T15:20:00Z",
+ "value": 2222126
+ },
+ {
+ "timestamp": "2017-01-01T15:25:00Z",
+ "value": 2226472
+ },
+ {
+ "timestamp": "2017-01-01T15:30:00Z",
+ "value": 2226722
+ },
+ {
+ "timestamp": "2017-01-01T15:35:00Z",
+ "value": 2226729
+ },
+ {
+ "timestamp": "2017-01-01T15:40:00Z",
+ "value": 2226735
+ },
+ {
+ "timestamp": "2017-01-01T15:45:00Z",
+ "value": 2226735
+ },
+ {
+ "timestamp": "2017-01-01T15:50:00Z",
+ "value": 2226735
+ },
+ {
+ "timestamp": "2017-01-01T15:55:00Z",
+ "value": 2226952
+ },
+ {
+ "timestamp": "2017-01-01T16:00:00Z",
+ "value": 2226962
+ },
+ {
+ "timestamp": "2017-01-01T16:05:00Z",
+ "value": 2649337
+ },
+ {
+ "timestamp": "2017-01-01T16:10:00Z",
+ "value": 2092796
+ },
+ {
+ "timestamp": "2017-01-01T16:15:00Z",
+ "value": 2092839
+ },
+ {
+ "timestamp": "2017-01-01T16:20:00Z",
+ "value": 2092940
+ },
+ {
+ "timestamp": "2017-01-01T16:25:00Z",
+ "value": 2092940
+ },
+ {
+ "timestamp": "2017-01-01T16:30:00Z",
+ "value": 2092965
+ },
+ {
+ "timestamp": "2017-01-01T16:35:00Z",
+ "value": 2092979
+ },
+ {
+ "timestamp": "2017-01-01T16:40:00Z",
+ "value": 2095588
+ },
+ {
+ "timestamp": "2017-01-01T16:45:00Z",
+ "value": 2099586
+ },
+ {
+ "timestamp": "2017-01-01T16:50:00Z",
+ "value": 2102981
+ },
+ {
+ "timestamp": "2017-01-01T16:55:00Z",
+ "value": 2108053
+ },
+ {
+ "timestamp": "2017-01-01T17:00:00Z",
+ "value": 2107907
+ },
+ {
+ "timestamp": "2017-01-01T17:05:00Z",
+ "value": 2108241
+ },
+ {
+ "timestamp": "2017-01-01T17:10:00Z",
+ "value": 2100321
+ },
+ {
+ "timestamp": "2017-01-01T17:15:00Z",
+ "value": 2100448
+ },
+ {
+ "timestamp": "2017-01-01T17:20:00Z",
+ "value": 2100483
+ },
+ {
+ "timestamp": "2017-01-01T17:25:00Z",
+ "value": 2103042
+ },
+ {
+ "timestamp": "2017-01-01T17:30:00Z",
+ "value": 2103037
+ },
+ {
+ "timestamp": "2017-01-01T17:35:00Z",
+ "value": 2103040
+ },
+ {
+ "timestamp": "2017-01-01T17:40:00Z",
+ "value": 2103054
+ },
+ {
+ "timestamp": "2017-01-01T17:45:00Z",
+ "value": 2103058
+ },
+ {
+ "timestamp": "2017-01-01T17:50:00Z",
+ "value": 1830757
+ },
+ {
+ "timestamp": "2017-01-01T17:55:00Z",
+ "value": 1830855
+ },
+ {
+ "timestamp": "2017-01-01T18:00:00Z",
+ "value": 1831495
+ },
+ {
+ "timestamp": "2017-01-01T18:05:00Z",
+ "value": 1831463
+ },
+ {
+ "timestamp": "2017-01-01T18:10:00Z",
+ "value": 1831963
+ },
+ {
+ "timestamp": "2017-01-01T18:15:00Z",
+ "value": 1832046
+ },
+ {
+ "timestamp": "2017-01-01T18:20:00Z",
+ "value": 1832070
+ },
+ {
+ "timestamp": "2017-01-01T18:25:00Z",
+ "value": 1835511
+ },
+ {
+ "timestamp": "2017-01-01T18:30:00Z",
+ "value": 1835265
+ },
+ {
+ "timestamp": "2017-01-01T18:35:00Z",
+ "value": 1835481
+ },
+ {
+ "timestamp": "2017-01-01T18:40:00Z",
+ "value": 1835578
+ },
+ {
+ "timestamp": "2017-01-01T18:45:00Z",
+ "value": 1835611
+ },
+ {
+ "timestamp": "2017-01-01T18:50:00Z",
+ "value": 1836314
+ },
+ {
+ "timestamp": "2017-01-01T18:55:00Z",
+ "value": 1836369
+ },
+ {
+ "timestamp": "2017-01-01T19:00:00Z",
+ "value": 1837280
+ },
+ {
+ "timestamp": "2017-01-01T19:05:00Z",
+ "value": 1842939
+ },
+ {
+ "timestamp": "2017-01-01T19:10:00Z",
+ "value": 1843126
+ },
+ {
+ "timestamp": "2017-01-01T19:15:00Z",
+ "value": 1845840
+ },
+ {
+ "timestamp": "2017-01-01T19:20:00Z",
+ "value": 1842444
+ },
+ {
+ "timestamp": "2017-01-01T19:25:00Z",
+ "value": 1839891
+ },
+ {
+ "timestamp": "2017-01-01T19:30:00Z",
+ "value": 1839875
+ },
+ {
+ "timestamp": "2017-01-01T19:35:00Z",
+ "value": 1839870
+ },
+ {
+ "timestamp": "2017-01-01T19:40:00Z",
+ "value": 1840090
+ },
+ {
+ "timestamp": "2017-01-01T19:45:00Z",
+ "value": 1840479
+ },
+ {
+ "timestamp": "2017-01-01T19:50:00Z",
+ "value": 1840479
+ },
+ {
+ "timestamp": "2017-01-01T19:55:00Z",
+ "value": 1840482
+ },
+ {
+ "timestamp": "2017-01-01T20:00:00Z",
+ "value": 1841522
+ },
+ {
+ "timestamp": "2017-01-01T20:05:00Z",
+ "value": 1841836
+ },
+ {
+ "timestamp": "2017-01-01T20:10:00Z",
+ "value": 1842377
+ },
+ {
+ "timestamp": "2017-01-01T20:15:00Z",
+ "value": 1842388
+ },
+ {
+ "timestamp": "2017-01-01T20:20:00Z",
+ "value": 1842489
+ },
+ {
+ "timestamp": "2017-01-01T20:25:00Z",
+ "value": 1842489
+ },
+ {
+ "timestamp": "2017-01-01T20:30:00Z",
+ "value": 1842489
+ },
+ {
+ "timestamp": "2017-01-01T20:35:00Z",
+ "value": 1842496
+ },
+ {
+ "timestamp": "2017-01-01T20:40:00Z",
+ "value": 1842689
+ },
+ {
+ "timestamp": "2017-01-01T20:45:00Z",
+ "value": 1843117
+ },
+ {
+ "timestamp": "2017-01-01T20:50:00Z",
+ "value": 1843116
+ },
+ {
+ "timestamp": "2017-01-01T20:55:00Z",
+ "value": 1843227
+ },
+ {
+ "timestamp": "2017-01-01T21:00:00Z",
+ "value": 1843138
+ },
+ {
+ "timestamp": "2017-01-01T21:05:00Z",
+ "value": 1843141
+ },
+ {
+ "timestamp": "2017-01-01T21:10:00Z",
+ "value": 1843310
+ },
+ {
+ "timestamp": "2017-01-01T21:15:00Z",
+ "value": 1843310
+ },
+ {
+ "timestamp": "2017-01-01T21:20:00Z",
+ "value": 1843507
+ },
+ {
+ "timestamp": "2017-01-01T21:25:00Z",
+ "value": 1843953
+ },
+ {
+ "timestamp": "2017-01-01T21:30:00Z",
+ "value": 1844778
+ },
+ {
+ "timestamp": "2017-01-01T21:35:00Z",
+ "value": 1843918
+ },
+ {
+ "timestamp": "2017-01-01T21:40:00Z",
+ "value": 1882692
+ },
+ {
+ "timestamp": "2017-01-01T21:45:00Z",
+ "value": 1974888
+ },
+ {
+ "timestamp": "2017-01-01T21:50:00Z",
+ "value": 2157136
+ },
+ {
+ "timestamp": "2017-01-01T21:55:00Z",
+ "value": 2154987
+ },
+ {
+ "timestamp": "2017-01-01T22:00:00Z",
+ "value": 2155664
+ },
+ {
+ "timestamp": "2017-01-01T22:05:00Z",
+ "value": 2155660
+ },
+ {
+ "timestamp": "2017-01-01T22:10:00Z",
+ "value": 2155824
+ },
+ {
+ "timestamp": "2017-01-01T22:15:00Z",
+ "value": 2155824
+ },
+ {
+ "timestamp": "2017-01-01T22:20:00Z",
+ "value": 2156329
+ },
+ {
+ "timestamp": "2017-01-01T22:25:00Z",
+ "value": 2156479
+ },
+ {
+ "timestamp": "2017-01-01T22:30:00Z",
+ "value": 2165269
+ },
+ {
+ "timestamp": "2017-01-01T22:35:00Z",
+ "value": 2165433
+ },
+ {
+ "timestamp": "2017-01-01T22:40:00Z",
+ "value": 2165739
+ },
+ {
+ "timestamp": "2017-01-01T22:45:00Z",
+ "value": 2165931
+ },
+ {
+ "timestamp": "2017-01-01T22:50:00Z",
+ "value": 2165928
+ },
+ {
+ "timestamp": "2017-01-01T22:55:00Z",
+ "value": 2165989
+ },
+ {
+ "timestamp": "2017-01-01T23:00:00Z",
+ "value": 2228961
+ },
+ {
+ "timestamp": "2017-01-01T23:05:00Z",
+ "value": 2228961
+ },
+ {
+ "timestamp": "2017-01-01T23:10:00Z",
+ "value": 2228961
+ },
+ {
+ "timestamp": "2017-01-01T23:15:00Z",
+ "value": 2485802
+ },
+ {
+ "timestamp": "2017-01-01T23:20:00Z",
+ "value": 2485802
+ },
+ {
+ "timestamp": "2017-01-01T23:25:00Z",
+ "value": 2486021
+ },
+ {
+ "timestamp": "2017-01-01T23:30:00Z",
+ "value": 2485293
+ },
+ {
+ "timestamp": "2017-01-01T23:35:00Z",
+ "value": 2485293
+ },
+ {
+ "timestamp": "2017-01-01T23:40:00Z",
+ "value": 2485324
+ },
+ {
+ "timestamp": "2017-01-01T23:45:00Z",
+ "value": 2489142
+ },
+ {
+ "timestamp": "2017-01-01T23:50:00Z",
+ "value": 2526312
+ },
+ {
+ "timestamp": "2017-01-01T23:55:00Z",
+ "value": 2526313
+ },
+ {
+ "timestamp": "2017-01-02T00:00:00Z",
+ "value": 2526314
+ },
+ {
+ "timestamp": "2017-01-02T00:05:00Z",
+ "value": 2526324
+ },
+ {
+ "timestamp": "2017-01-02T00:10:00Z",
+ "value": 2526325
+ },
+ {
+ "timestamp": "2017-01-02T00:15:00Z",
+ "value": 2526205
+ },
+ {
+ "timestamp": "2017-01-02T00:20:00Z",
+ "value": 2526226
+ },
+ {
+ "timestamp": "2017-01-02T00:25:00Z",
+ "value": 2526475
+ },
+ {
+ "timestamp": "2017-01-02T00:30:00Z",
+ "value": 2526471
+ },
+ {
+ "timestamp": "2017-01-02T00:35:00Z",
+ "value": 2526471
+ },
+ {
+ "timestamp": "2017-01-02T00:40:00Z",
+ "value": 2526534
+ },
+ {
+ "timestamp": "2017-01-02T00:45:00Z",
+ "value": 2526646
+ },
+ {
+ "timestamp": "2017-01-02T00:50:00Z",
+ "value": 2526646
+ },
+ {
+ "timestamp": "2017-01-02T00:55:00Z",
+ "value": 2526648
+ },
+ {
+ "timestamp": "2017-01-02T01:00:00Z",
+ "value": 2526658
+ },
+ {
+ "timestamp": "2017-01-02T01:05:00Z",
+ "value": 2526771
+ },
+ {
+ "timestamp": "2017-01-02T01:10:00Z",
+ "value": 2526773
+ },
+ {
+ "timestamp": "2017-01-02T01:15:00Z",
+ "value": 2526793
+ },
+ {
+ "timestamp": "2017-01-02T01:20:00Z",
+ "value": 2527010
+ },
+ {
+ "timestamp": "2017-01-02T01:25:00Z",
+ "value": 2527031
+ },
+ {
+ "timestamp": "2017-01-02T01:30:00Z",
+ "value": 3178096
+ },
+ {
+ "timestamp": "2017-01-02T01:35:00Z",
+ "value": 3196305
+ },
+ {
+ "timestamp": "2017-01-02T01:40:00Z",
+ "value": 3196202
+ },
+ {
+ "timestamp": "2017-01-02T01:45:00Z",
+ "value": 3196202
+ },
+ {
+ "timestamp": "2017-01-02T01:50:00Z",
+ "value": 3196205
+ },
+ {
+ "timestamp": "2017-01-02T01:55:00Z",
+ "value": 3229232
+ },
+ {
+ "timestamp": "2017-01-02T02:00:00Z",
+ "value": 3230463
+ },
+ {
+ "timestamp": "2017-01-02T02:05:00Z",
+ "value": 3230468
+ },
+ {
+ "timestamp": "2017-01-02T02:10:00Z",
+ "value": 3230468
+ },
+ {
+ "timestamp": "2017-01-02T02:15:00Z",
+ "value": 3230468
+ },
+ {
+ "timestamp": "2017-01-02T02:20:00Z",
+ "value": 3230470
+ },
+ {
+ "timestamp": "2017-01-02T02:25:00Z",
+ "value": 3230467
+ },
+ {
+ "timestamp": "2017-01-02T02:30:00Z",
+ "value": 3230506
+ },
+ {
+ "timestamp": "2017-01-02T02:35:00Z",
+ "value": 3231536
+ },
+ {
+ "timestamp": "2017-01-02T02:40:00Z",
+ "value": 3230723
+ },
+ {
+ "timestamp": "2017-01-02T02:45:00Z",
+ "value": 3230727
+ },
+ {
+ "timestamp": "2017-01-02T02:50:00Z",
+ "value": 3230727
+ },
+ {
+ "timestamp": "2017-01-02T02:55:00Z",
+ "value": 3230727
+ },
+ {
+ "timestamp": "2017-01-02T03:00:00Z",
+ "value": 3231880
+ },
+ {
+ "timestamp": "2017-01-02T03:05:00Z",
+ "value": 3232283
+ },
+ {
+ "timestamp": "2017-01-02T03:10:00Z",
+ "value": 3232283
+ },
+ {
+ "timestamp": "2017-01-02T03:15:00Z",
+ "value": 3232283
+ },
+ {
+ "timestamp": "2017-01-02T03:20:00Z",
+ "value": 3232325
+ },
+ {
+ "timestamp": "2017-01-02T03:25:00Z",
+ "value": 3232323
+ },
+ {
+ "timestamp": "2017-01-02T03:30:00Z",
+ "value": 3232327
+ },
+ {
+ "timestamp": "2017-01-02T03:35:00Z",
+ "value": 3232340
+ },
+ {
+ "timestamp": "2017-01-02T03:40:00Z",
+ "value": 3232713
+ },
+ {
+ "timestamp": "2017-01-02T03:45:00Z",
+ "value": 3232729
+ },
+ {
+ "timestamp": "2017-01-02T03:50:00Z",
+ "value": 3232756
+ },
+ {
+ "timestamp": "2017-01-02T03:55:00Z",
+ "value": 3233500
+ },
+ {
+ "timestamp": "2017-01-02T04:00:00Z",
+ "value": 3233500
+ },
+ {
+ "timestamp": "2017-01-02T04:05:00Z",
+ "value": 3233500
+ }
+ ],
+ "granularity": "minutely",
+ "customInterval": 5,
+ "stableTrendWindow": 10,
+ "threshold": 0.99,
+ "period": 0
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "period": 0,
+ "confidenceScores": [
+ 0.11841763735063232,
+ 0.014857199927548581,
+ 0.0887032374955278,
+ 0.07430314751946857,
+ 0.059903057543409355,
+ 0.04132288981790399,
+ 0.022742722092391268,
+ 0.0005683208474757854,
+ 0.0216060803974397,
+ 0.053248991089971616,
+ 0.08489190178249614,
+ 0.04322511558132514,
+ 0.085336620199234,
+ 0.05876047041512903,
+ 0.02673755265447302,
+ 0.005032027060762012,
+ 0.031323171543775764,
+ 0.06299774949197792,
+ 0.08944723025337244,
+ 0.11523169864554421,
+ 0.14288453512268834,
+ 0.001592562559717675,
+ 0.32637788222282893,
+ 0,
+ 7.37310752217245e-15,
+ 2.211932256651735e-14,
+ 1,
+ 0.015697015891758138,
+ 0.01242773215043403,
+ 0.016188579169534697,
+ 0.019537751864826272,
+ 0.022506917491993753,
+ 0.01885762668253081,
+ 0.016253355310429398,
+ 0.017227483829906676,
+ 0.023236706002118527,
+ 0.03906277743439327,
+ 0.0354134866249377,
+ 0.037084294769315296,
+ 0.038248426822850935,
+ 0.050274427573818385,
+ 0.046815140298421175,
+ 0.043292518511668716,
+ 0.041353259508804745,
+ 0.038242312045861385,
+ 0.0346880230034313,
+ 0.032717096744889713,
+ 0.033026212895129546,
+ 0.031055286636580585,
+ 0.0275326648498355,
+ 0.023883374040372555,
+ 0.021564107969369743,
+ 0.018706498551854727,
+ 0.01543721481052325,
+ 0.015176320358565887,
+ 0.011527029549110314,
+ 0.008004407762357859,
+ 0.004355116952902286,
+ 0.0007058261434393403,
+ 0.0030701336887340946,
+ 0.006592755475479178,
+ 0.010147044517909256,
+ 0.013701333560339335,
+ 0.016780613767597707,
+ 0.020366570065705403,
+ 0.024015860875168354,
+ 0.02757014991759106,
+ 0.03033275756808058,
+ 0.03068865378707081,
+ 0.03395793752839492,
+ 0.03760722833785786,
+ 0.04122485189164318,
+ 0.030433874112103007,
+ 0.032816474694461056,
+ 0.03602242392443729,
+ 0.03960838022253762,
+ 0.04268766042980336,
+ 0.04633695123926631,
+ 0.0346592903007527,
+ 0.010219725324164698,
+ 0.007218892441326965,
+ 0.006909776291079754,
+ 0.000049463551460760754,
+ 0.0016047901503119819,
+ 0.01042121060065547,
+ 0.009020294944303705,
+ 0.005371004134840759,
+ 0.0021650549048718984,
+ 0.010517653997227793,
+ 0.0075017083013172925,
+ 0.00385241749186172,
+ 0.0008681390516288423,
+ 0.019005920148370017,
+ 0.015388296594592068,
+ 0.12583612799160215,
+ 1,
+ 0.005055878353042495,
+ 0.007613932468790628,
+ 0.011913685646822731,
+ 0.0166567804043268,
+ 0.015351429327405014,
+ 0.034309821169245976,
+ 0.0292817211106433,
+ 0.02425362105202589,
+ 0.019225520993423218,
+ 0.01419742093482055,
+ 0.00916932087621788,
+ 0.004141220817600464,
+ 0.0008868792410022057,
+ 0.0059149792996048755,
+ 0.010943079358207547,
+ 0.015971179416810213,
+ 0.02099927947542763,
+ 1,
+ 0.11533376425564247,
+ 0.1207645081246342,
+ 0.025174230145423273,
+ 0.09422487163021387,
+ 0.08417070843230404,
+ 0.07411654523437947,
+ 0.06406238203646963,
+ 0.0540082188385598,
+ 0.04395405564064997,
+ 0.03500824639144218,
+ 0.024954083193532338,
+ 0.014899919995622513,
+ 0.004845756797712681,
+ 0.005208406400211895,
+ 0.015262569598121728,
+ 0.025316732796031558,
+ 0.03537089599394139,
+ 0.045425059191865964,
+ 0.05145748091871777,
+ 1,
+ 0.011663506282381296,
+ 0.0043856580970499884,
+ 0.002892190088273945,
+ 0.01017003827359788,
+ 0.01744788645892181,
+ 0.024725734644253115,
+ 0.03200358282957705,
+ 0.03928143101490098,
+ 0.046559279200224915,
+ 0.05383712738555622,
+ 0.060069956133518614,
+ 0.0450857235774741,
+ 0.050621872700536176,
+ 0.029050850963546225,
+ 0.045689493056171517,
+ 0.0385699811492357,
+ 0.03179880905474635,
+ 0.03082274474926925,
+ 0.03586345902254038,
+ 0.028585610837209074,
+ 0.021402764418918006,
+ 0.04705886213832124,
+ 0.049724532235770696,
+ 0.05957866937203304,
+ 0.052649160999162954,
+ 0.045371312813839014,
+ 0.03809346462851508,
+ 0.030815616443183775,
+ 0.023537768257859845,
+ 0.01945831289597576,
+ 0.012180464710644455,
+ 0.00490261652532052,
+ 0.002153560870260057,
+ 0.0033196287098028916,
+ 0.0029244412792105113,
+ 0.0043217396504358,
+ 0.010934575466529664,
+ 0.018117421884820732,
+ 0.02267188608187652,
+ 0.027321352045957807,
+ 0.03459920023128174,
+ 0.03563859904812146,
+ 0.02990120514994264,
+ 0.03607069938654979,
+ 0.017223061637835352,
+ 7.37310752217245e-15,
+ 1.47462150443449e-14,
+ 1,
+ 0.046440552438977135,
+ 0.012233652454378385,
+ 0.017033155644526038,
+ 0.05136672465183527,
+ 0.06970832954194527,
+ 0.09929181019761117,
+ 0.11281999222473732,
+ 0.11039622919405537,
+ 0.08125609011787617,
+ 0.05661270134791935,
+ 0.028264243663680723,
+ 0.005974323576610399,
+ 0.038471191754617544,
+ 0,
+ 0,
+ 0,
+ 0.020288532128574968,
+ 0.005041879493223223,
+ 0.009223088216122232,
+ 0.009332792637570532,
+ 0.024579445272937026,
+ 0.03289096891488949,
+ 0.050695883419617865,
+ 1,
+ 0.000748013913075547,
+ 0.002186373999917361,
+ 0.0009330173541465358,
+ 0.00032033929162428933,
+ 0.0012886906362965138,
+ 0.002542047282052593,
+ 0.0007963481454318109,
+ 0.0004886757560166365,
+ 0.0016470306347398486,
+ 0.001063686451208582,
+ 0.0011980222832366648,
+ 0.00008700161821178273,
+ 0.0013086910082902394,
+ 0.0022770423529624643,
+ 0.000016333637160404937,
+ 0.0012053557529180517,
+ 0.0018570345408140537,
+ 0.0037297360397815314,
+ 0.003109724507563151,
+ 0.22869458705263188,
+ 0.2293374323429407,
+ 0.1140021204394844,
+ 0.0012381896969537412,
+ 0.11340677603264777,
+ 1,
+ 0.011793249472519423,
+ 0.008293225072094536,
+ 0.00469819890465153,
+ 0.0010715054815308995,
+ 0.0025551879416044767,
+ 0.006118546853369862,
+ 0.008605219072110835,
+ 0.0053601180131874334,
+ 0.008860142413597574,
+ 0.01248683583673295,
+ 0.01611352925985358,
+ 0.005878587160222206,
+ 0.013145429690188892,
+ 0.022280640305150038,
+ 0.01865394688201466,
+ 0.015027253458894031,
+ 0.012033905149325846,
+ 0.009040556839742916,
+ 0.005445530672299909,
+ 0.0018505045048569009,
+ 0.001744521662600853,
+ 0.005339547830043862,
+ 0.008760404091259945,
+ 0.012181260352490777,
+ 0.009902010591734853,
+ 0.007622760830993676
+ ],
+ "isChangePoint": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/DeleteModel.json b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/DeleteModel.json
new file mode 100644
index 000000000000..3ef10b1e0a2f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/DeleteModel.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "45aad126-aafd-11ea-b8fb-d89ef3400c5f",
+ "body": {}
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/DetectAnomaly.json b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/DetectAnomaly.json
new file mode 100644
index 000000000000..105d392901b6
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/DetectAnomaly.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "45aad126-aafd-11ea-b8fb-d89ef3400c5f",
+ "detectionRequest": {
+ "source": "https://multiadsample.blob.core.windows.net/data/sample_data_2_1000.zip?sp=rl&st=2020-12-04T06:03:47Z&se=2022-12-05T06:03:00Z&sv=2019-12-12&sr=b&sig=AZTbvZ7fcp3MdqGY%2FvGHJXJjUgjS4DneCGl7U5omq5c%3D",
+ "startTime": "2019-04-01T00:15:00Z",
+ "endTime": "2019-04-01T00:40:00Z"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "{Endpoint}/anomalydetector/v1.1-preview/multivariate/results/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/EntireDetect.json b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/EntireDetect.json
new file mode 100644
index 000000000000..648f4393922e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/EntireDetect.json
@@ -0,0 +1,513 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {
+ "series": [
+ {
+ "timestamp": "1972-01-01T00:00:00Z",
+ "value": 826
+ },
+ {
+ "timestamp": "1972-02-01T00:00:00Z",
+ "value": 799
+ },
+ {
+ "timestamp": "1972-03-01T00:00:00Z",
+ "value": 890
+ },
+ {
+ "timestamp": "1972-04-01T00:00:00Z",
+ "value": 900
+ },
+ {
+ "timestamp": "1972-05-01T00:00:00Z",
+ "value": 961
+ },
+ {
+ "timestamp": "1972-06-01T00:00:00Z",
+ "value": 935
+ },
+ {
+ "timestamp": "1972-07-01T00:00:00Z",
+ "value": 894
+ },
+ {
+ "timestamp": "1972-08-01T00:00:00Z",
+ "value": 855
+ },
+ {
+ "timestamp": "1972-09-01T00:00:00Z",
+ "value": 809
+ },
+ {
+ "timestamp": "1972-10-01T00:00:00Z",
+ "value": 810
+ },
+ {
+ "timestamp": "1972-11-01T00:00:00Z",
+ "value": 766
+ },
+ {
+ "timestamp": "1972-12-01T00:00:00Z",
+ "value": 805
+ },
+ {
+ "timestamp": "1973-01-01T00:00:00Z",
+ "value": 821
+ },
+ {
+ "timestamp": "1973-02-01T00:00:00Z",
+ "value": 773
+ },
+ {
+ "timestamp": "1973-03-01T00:00:00Z",
+ "value": 883
+ },
+ {
+ "timestamp": "1973-04-01T00:00:00Z",
+ "value": 898
+ },
+ {
+ "timestamp": "1973-05-01T00:00:00Z",
+ "value": 957
+ },
+ {
+ "timestamp": "1973-06-01T00:00:00Z",
+ "value": 924
+ },
+ {
+ "timestamp": "1973-07-01T00:00:00Z",
+ "value": 881
+ },
+ {
+ "timestamp": "1973-08-01T00:00:00Z",
+ "value": 837
+ },
+ {
+ "timestamp": "1973-09-01T00:00:00Z",
+ "value": 784
+ },
+ {
+ "timestamp": "1973-10-01T00:00:00Z",
+ "value": 791
+ },
+ {
+ "timestamp": "1973-11-01T00:00:00Z",
+ "value": 760
+ },
+ {
+ "timestamp": "1973-12-01T00:00:00Z",
+ "value": 802
+ },
+ {
+ "timestamp": "1974-01-01T00:00:00Z",
+ "value": 828
+ },
+ {
+ "timestamp": "1974-02-01T00:00:00Z",
+ "value": 1030
+ },
+ {
+ "timestamp": "1974-03-01T00:00:00Z",
+ "value": 889
+ },
+ {
+ "timestamp": "1974-04-01T00:00:00Z",
+ "value": 902
+ },
+ {
+ "timestamp": "1974-05-01T00:00:00Z",
+ "value": 969
+ },
+ {
+ "timestamp": "1974-06-01T00:00:00Z",
+ "value": 947
+ },
+ {
+ "timestamp": "1974-07-01T00:00:00Z",
+ "value": 908
+ },
+ {
+ "timestamp": "1974-08-01T00:00:00Z",
+ "value": 867
+ },
+ {
+ "timestamp": "1974-09-01T00:00:00Z",
+ "value": 815
+ },
+ {
+ "timestamp": "1974-10-01T00:00:00Z",
+ "value": 812
+ },
+ {
+ "timestamp": "1974-11-01T00:00:00Z",
+ "value": 773
+ },
+ {
+ "timestamp": "1974-12-01T00:00:00Z",
+ "value": 813
+ },
+ {
+ "timestamp": "1975-01-01T00:00:00Z",
+ "value": 834
+ },
+ {
+ "timestamp": "1975-02-01T00:00:00Z",
+ "value": 782
+ },
+ {
+ "timestamp": "1975-03-01T00:00:00Z",
+ "value": 892
+ },
+ {
+ "timestamp": "1975-04-01T00:00:00Z",
+ "value": 903
+ },
+ {
+ "timestamp": "1975-05-01T00:00:00Z",
+ "value": 966
+ },
+ {
+ "timestamp": "1975-06-01T00:00:00Z",
+ "value": 937
+ },
+ {
+ "timestamp": "1975-07-01T00:00:00Z",
+ "value": 896
+ },
+ {
+ "timestamp": "1975-08-01T00:00:00Z",
+ "value": 858
+ },
+ {
+ "timestamp": "1975-09-01T00:00:00Z",
+ "value": 817
+ },
+ {
+ "timestamp": "1975-10-01T00:00:00Z",
+ "value": 827
+ },
+ {
+ "timestamp": "1975-11-01T00:00:00Z",
+ "value": 797
+ },
+ {
+ "timestamp": "1975-12-01T00:00:00Z",
+ "value": 843
+ }
+ ],
+ "maxAnomalyRatio": 0.25,
+ "sensitivity": 95,
+ "granularity": "monthly"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isNegativeAnomaly": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ],
+ "expectedValues": [
+ 827.79409082439679,
+ 798.91337746719273,
+ 888.60584318071892,
+ 900.5606407986661,
+ 962.83894263783043,
+ 933.25916063069542,
+ 891.07841047996658,
+ 856.17816013636968,
+ 809.89872279089411,
+ 807.375129007505,
+ 764.31966824485175,
+ 803.933498594564,
+ 823.59006208830579,
+ 794.09056413342876,
+ 883.164245249282,
+ 894.84190006909535,
+ 956.84305911012575,
+ 927.62850551901136,
+ 885.812983784303,
+ 851.6424797402517,
+ 806.0927886943216,
+ 804.68268153120289,
+ 762.74070738882,
+ 804.0251702513732,
+ 825.35236625795585,
+ 798.04041887249764,
+ 889.30165055776979,
+ 902.4226124345937,
+ 965.867078532635,
+ 937.32004957366951,
+ 896.17205247111019,
+ 862.00873684136559,
+ 816.46623420974231,
+ 814.42977455247092,
+ 771.8614479159354,
+ 811.859271346729,
+ 831.89982792155206,
+ 802.947544797165,
+ 892.56844074350829,
+ 904.54882145338092,
+ 966.85270638447071,
+ 937.31683910030426,
+ 895.180003672544,
+ 860.36495963566347,
+ 814.17072859690427,
+ 811.9054862686213,
+ 769.10837696107421,
+ 809.23280846597038
+ ],
+ "isPositiveAnomaly": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ],
+ "lowerMargins": [
+ 41.389704541219835,
+ 39.945668873359637,
+ 44.430292159035943,
+ 45.028032039933308,
+ 48.14194713189152,
+ 46.662958031534771,
+ 44.553920523998329,
+ 42.808908006818484,
+ 40.494936139544706,
+ 40.368756450375251,
+ 38.215983412242586,
+ 40.196674929728196,
+ 41.179503104415289,
+ 39.704528206671441,
+ 44.1582122624641,
+ 44.742095003454772,
+ 47.842152955506293,
+ 46.381425275950569,
+ 44.290649189215145,
+ 42.582123987012579,
+ 40.30463943471608,
+ 40.234134076560146,
+ 38.137035369441,
+ 40.201258512568664,
+ 41.267618312897795,
+ 39.902020943624883,
+ 44.465082527888491,
+ 45.121130621729684,
+ 48.293353926631752,
+ 46.866002478683477,
+ 44.808602623555508,
+ 43.100436842068284,
+ 40.823311710487111,
+ 40.721488727623544,
+ 38.593072395796774,
+ 40.592963567336447,
+ 41.5949913960776,
+ 40.147377239858251,
+ 44.628422037175412,
+ 45.227441072669045,
+ 48.34263531922354,
+ 46.865841955015213,
+ 44.759000183627194,
+ 43.018247981783169,
+ 40.708536429845211,
+ 40.595274313431062,
+ 38.455418848053711,
+ 40.461640423298519
+ ],
+ "period": 12,
+ "upperMargins": [
+ 41.389704541219835,
+ 39.945668873359637,
+ 44.430292159035943,
+ 45.028032039933308,
+ 48.14194713189152,
+ 46.662958031534771,
+ 44.553920523998329,
+ 42.808908006818484,
+ 40.494936139544706,
+ 40.368756450375251,
+ 38.215983412242586,
+ 40.196674929728196,
+ 41.179503104415289,
+ 39.704528206671441,
+ 44.1582122624641,
+ 44.742095003454772,
+ 47.842152955506293,
+ 46.381425275950569,
+ 44.290649189215145,
+ 42.582123987012579,
+ 40.30463943471608,
+ 40.234134076560146,
+ 38.137035369441,
+ 40.201258512568664,
+ 41.267618312897795,
+ 39.902020943624883,
+ 44.465082527888491,
+ 45.121130621729684,
+ 48.293353926631752,
+ 46.866002478683477,
+ 44.808602623555508,
+ 43.100436842068284,
+ 40.823311710487111,
+ 40.721488727623544,
+ 38.593072395796774,
+ 40.592963567336447,
+ 41.5949913960776,
+ 40.147377239858251,
+ 44.628422037175412,
+ 45.227441072669045,
+ 48.34263531922354,
+ 46.865841955015213,
+ 44.759000183627194,
+ 43.018247981783169,
+ 40.708536429845211,
+ 40.595274313431062,
+ 38.455418848053711,
+ 40.461640423298519
+ ],
+ "isAnomaly": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/ExportModel.json b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/ExportModel.json
new file mode 100644
index 000000000000..19674b32ad0b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/ExportModel.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "45aad126-aafd-11ea-b8fb-d89ef3400c5f",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "content-type": "application/zip"
+ },
+ "body": "{Binary}"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/GetModel.json b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/GetModel.json
new file mode 100644
index 000000000000..949ea1e1a4be
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/GetModel.json
@@ -0,0 +1,158 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "45aad126-aafd-11ea-b8fb-d89ef3400c5f",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "modelId": "45aad126-aafd-11ea-b8fb-d89ef3400c5f",
+ "createdTime": "2020-06-30T00:00:00Z",
+ "lastUpdatedTime": "2020-06-30T00:00:00Z",
+ "modelInfo": {
+ "slidingWindow": 20,
+ "alignPolicy": {
+ "alignMode": "Outer",
+ "fillNAMethod": "Linear",
+ "paddingValue": 0
+ },
+ "source": "https://multiadsample.blob.core.windows.net/data/sample_data_2_1000.zip?sp=rl&st=2020-12-04T06:03:47Z&se=2022-12-05T06:03:00Z&sv=2019-12-12&sr=b&sig=AZTbvZ7fcp3MdqGY%2FvGHJXJjUgjS4DneCGl7U5omq5c%3D",
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-02T00:00:00Z",
+ "displayName": "Devops-MultiAD",
+ "status": "READY",
+ "errors": [],
+ "diagnosticsInfo": {
+ "modelState": {
+ "epochIds": [
+ 10,
+ 20,
+ 30,
+ 40,
+ 50,
+ 60,
+ 70,
+ 80,
+ 90,
+ 100
+ ],
+ "trainLosses": [
+ 0.6291328072547913,
+ 0.1671326905488968,
+ 0.12354248017072678,
+ 0.10259664058685303,
+ 0.09584927558898926,
+ 0.09069952368736267,
+ 0.08686016499996185,
+ 0.08603022992610931,
+ 0.08287354558706284,
+ 0.08235538005828857
+ ],
+ "validationLosses": [
+ 1.9232804775238037,
+ 1.0645641088485718,
+ 0.6031560301780701,
+ 0.5302737951278687,
+ 0.46980252861976624,
+ 0.4395163357257843,
+ 0.41829314827919006,
+ 0.40579143166542053,
+ 0.405649870634079,
+ 0.38492488861083984
+ ],
+ "latenciesInSeconds": [
+ 0.3398594856262207,
+ 0.3659665584564209,
+ 0.37360644340515137,
+ 0.35134077072143555,
+ 0.33703041076660156,
+ 0.31876277923583984,
+ 0.32833099365234375,
+ 0.3503587245941162,
+ 0.3080024719238281,
+ 0.3327946662902832
+ ]
+ },
+ "variableStates": [
+ {
+ "variable": "ad_input",
+ "filledNARatio": 0,
+ "effectiveCount": 1441,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-02T00:00:00Z",
+ "errors": []
+ },
+ {
+ "variable": "ad_ontimer_output",
+ "filledNARatio": 0,
+ "effectiveCount": 1441,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-02T00:00:00Z",
+ "errors": []
+ },
+ {
+ "variable": "ingestion",
+ "filledNARatio": 0,
+ "effectiveCount": 1441,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-02T00:00:00Z",
+ "errors": []
+ },
+ {
+ "variable": "data_in_speed",
+ "filledNARatio": 0,
+ "effectiveCount": 1441,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-02T00:00:00Z",
+ "errors": []
+ },
+ {
+ "variable": "cpu",
+ "filledNARatio": 0,
+ "effectiveCount": 1441,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-02T00:00:00Z",
+ "errors": []
+ },
+ {
+ "variable": "ad_series_init",
+ "filledNARatio": 0,
+ "effectiveCount": 1441,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-02T00:00:00Z",
+ "errors": []
+ },
+ {
+ "variable": "flink_last_ckpt_duration",
+ "filledNARatio": 0,
+ "effectiveCount": 1441,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-02T00:00:00Z",
+ "errors": []
+ },
+ {
+ "variable": "data_out_speed",
+ "filledNARatio": 0,
+ "effectiveCount": 1441,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-02T00:00:00Z",
+ "errors": []
+ },
+ {
+ "variable": "ad_output",
+ "filledNARatio": 0,
+ "effectiveCount": 1441,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-02T00:00:00Z",
+ "errors": []
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/GetResult.json b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/GetResult.json
new file mode 100644
index 000000000000..ec4e255ed7fa
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/GetResult.json
@@ -0,0 +1,409 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "resultId": "663884e6-b117-11ea-b3de-0242ac130004",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "resultId": "663884e6-b117-11ea-b3de-0242ac130004",
+ "summary": {
+ "status": "READY",
+ "errors": [],
+ "variableStates": [
+ {
+ "variable": "ad_input",
+ "filledNARatio": 0,
+ "effectiveCount": 26,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-01T00:25:00Z",
+ "errors": []
+ },
+ {
+ "variable": "ad_ontimer_output",
+ "filledNARatio": 0,
+ "effectiveCount": 26,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-01T00:25:00Z",
+ "errors": []
+ },
+ {
+ "variable": "ad_output",
+ "filledNARatio": 0,
+ "effectiveCount": 26,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-01T00:25:00Z",
+ "errors": []
+ },
+ {
+ "variable": "ad_series_init",
+ "filledNARatio": 0,
+ "effectiveCount": 26,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-01T00:25:00Z",
+ "errors": []
+ },
+ {
+ "variable": "cpu",
+ "filledNARatio": 0,
+ "effectiveCount": 26,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-01T00:25:00Z",
+ "errors": []
+ },
+ {
+ "variable": "data_in_speed",
+ "filledNARatio": 0,
+ "effectiveCount": 26,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-01T00:25:00Z",
+ "errors": []
+ },
+ {
+ "variable": "data_out_speed",
+ "filledNARatio": 0,
+ "effectiveCount": 26,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-01T00:25:00Z",
+ "errors": []
+ },
+ {
+ "variable": "flink_last_ckpt_duration",
+ "filledNARatio": 0,
+ "effectiveCount": 26,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-01T00:25:00Z",
+ "errors": []
+ },
+ {
+ "variable": "ingestion",
+ "filledNARatio": 0,
+ "effectiveCount": 26,
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-01T00:25:00Z",
+ "errors": []
+ }
+ ],
+ "setupInfo": {
+ "source": "https://multiadsample.blob.core.windows.net/data/sample_data_2_1000.zip?sp=rl&st=2020-12-04T06:03:47Z&se=2022-12-05T06:03:00Z&sv=2019-12-12&sr=b&sig=AZTbvZ7fcp3MdqGY%2FvGHJXJjUgjS4DneCGl7U5omq5c%3D",
+ "startTime": "2019-04-01T00:15:00Z",
+ "endTime": "2019-04-01T00:40:00Z"
+ }
+ },
+ "results": [
+ {
+ "timestamp": "2019-04-01T00:15:00Z",
+ "errors": [
+ {
+ "code": "InsufficientHistoricalData",
+ "message": "historical data is not enough."
+ }
+ ]
+ },
+ {
+ "timestamp": "2019-04-01T00:16:00Z",
+ "errors": [
+ {
+ "code": "InsufficientHistoricalData",
+ "message": "historical data is not enough."
+ }
+ ]
+ },
+ {
+ "timestamp": "2019-04-01T00:17:00Z",
+ "errors": [
+ {
+ "code": "InsufficientHistoricalData",
+ "message": "historical data is not enough."
+ }
+ ]
+ },
+ {
+ "timestamp": "2019-04-01T00:18:00Z",
+ "errors": [
+ {
+ "code": "InsufficientHistoricalData",
+ "message": "historical data is not enough."
+ }
+ ]
+ },
+ {
+ "timestamp": "2019-04-01T00:19:00Z",
+ "errors": [
+ {
+ "code": "InsufficientHistoricalData",
+ "message": "historical data is not enough."
+ }
+ ]
+ },
+ {
+ "timestamp": "2019-04-01T00:20:00Z",
+ "value": {
+ "contributors": [],
+ "isAnomaly": false,
+ "severity": 0.3509107994398884,
+ "score": 1.509107994398884
+ }
+ },
+ {
+ "timestamp": "2019-04-01T00:21:00Z",
+ "value": {
+ "contributors": [],
+ "isAnomaly": false,
+ "severity": 0.3278919065826584,
+ "score": 1.278919065826584
+ }
+ },
+ {
+ "timestamp": "2019-04-01T00:22:00Z",
+ "value": {
+ "contributors": [],
+ "isAnomaly": false,
+ "severity": 0.08801055597123958,
+ "score": 0.8801055597123958
+ }
+ },
+ {
+ "timestamp": "2019-04-01T00:23:00Z",
+ "value": {
+ "contributors": [],
+ "isAnomaly": false,
+ "severity": 0.2633898400714136,
+ "score": 1.633898400714136
+ }
+ },
+ {
+ "timestamp": "2019-04-01T00:24:00Z",
+ "value": {
+ "contributors": [],
+ "isAnomaly": false,
+ "severity": 0.4072371051419143,
+ "score": 1.072371051419143
+ }
+ },
+ {
+ "timestamp": "2019-04-01T00:25:00Z",
+ "value": {
+ "contributors": [],
+ "isAnomaly": false,
+ "severity": 0.3396915278974237,
+ "score": 1.396915278974237
+ }
+ },
+ {
+ "timestamp": "2019-04-01T00:26:00Z",
+ "value": {
+ "contributors": [],
+ "isAnomaly": false,
+ "severity": 0.09766117467968274,
+ "score": 0.9766117467968274
+ }
+ },
+ {
+ "timestamp": "2019-04-01T00:27:00Z",
+ "value": {
+ "contributors": [
+ {
+ "contributionScore": 0.0007775013367514271,
+ "variable": "ad_ontimer_output"
+ },
+ {
+ "contributionScore": 0.0007989604079048129,
+ "variable": "ad_series_init"
+ },
+ {
+ "contributionScore": 0.0008900927229851369,
+ "variable": "ingestion"
+ },
+ {
+ "contributionScore": 0.008068144477478554,
+ "variable": "cpu"
+ },
+ {
+ "contributionScore": 0.008222036467507165,
+ "variable": "data_in_speed"
+ },
+ {
+ "contributionScore": 0.008674941549594993,
+ "variable": "ad_input"
+ },
+ {
+ "contributionScore": 0.02232242629793674,
+ "variable": "ad_output"
+ },
+ {
+ "contributionScore": 0.1583773213660846,
+ "variable": "flink_last_ckpt_duration"
+ },
+ {
+ "contributionScore": 0.9816531517495176,
+ "variable": "data_out_speed"
+ }
+ ],
+ "isAnomaly": true,
+ "severity": 0.42135109874230336,
+ "score": 1.213510987423033
+ }
+ },
+ {
+ "timestamp": "2019-04-01T00:28:00Z",
+ "value": {
+ "contributors": [],
+ "isAnomaly": false,
+ "severity": 0.3816131949694057,
+ "score": 1.816131949694057
+ }
+ },
+ {
+ "timestamp": "2019-04-01T00:29:00Z",
+ "value": {
+ "contributors": [],
+ "isAnomaly": false,
+ "severity": 0.181157797150171,
+ "score": 1.81157797150171
+ }
+ },
+ {
+ "timestamp": "2019-04-01T00:30:00Z",
+ "value": {
+ "contributors": [],
+ "isAnomaly": false,
+ "severity": 0.14995278606288692,
+ "score": 1.4995278606288691
+ }
+ },
+ {
+ "timestamp": "2019-04-01T00:31:00Z",
+ "value": {
+ "contributors": [],
+ "isAnomaly": false,
+ "severity": 0.32239701546817856,
+ "score": 1.2239701546817856
+ }
+ },
+ {
+ "timestamp": "2019-04-01T00:32:00Z",
+ "value": {
+ "contributors": [],
+ "isAnomaly": false,
+ "severity": 0.1314609956762691,
+ "score": 1.314609956762691
+ }
+ },
+ {
+ "timestamp": "2019-04-01T00:33:00Z",
+ "value": {
+ "contributors": [],
+ "isAnomaly": false,
+ "severity": 0.2099233009703312,
+ "score": 1.0992330097033123
+ }
+ },
+ {
+ "timestamp": "2019-04-01T00:34:00Z",
+ "value": {
+ "contributors": [],
+ "isAnomaly": false,
+ "severity": 0.37511272238900906,
+ "score": 1.751127223890091
+ }
+ },
+ {
+ "timestamp": "2019-04-01T00:35:00Z",
+ "value": {
+ "contributors": [],
+ "isAnomaly": false,
+ "severity": 0.20627882459097507,
+ "score": 1.0627882459097506
+ }
+ },
+ {
+ "timestamp": "2019-04-01T00:36:00Z",
+ "value": {
+ "contributors": [],
+ "isAnomaly": false,
+ "severity": 0.3418639342833588,
+ "score": 1.418639342833588
+ }
+ },
+ {
+ "timestamp": "2019-04-01T00:37:00Z",
+ "value": {
+ "contributors": [],
+ "isAnomaly": false,
+ "severity": 0.29763266205488187,
+ "score": 1.976326620548819
+ }
+ },
+ {
+ "timestamp": "2019-04-01T00:38:00Z",
+ "value": {
+ "contributors": [
+ {
+ "contributionScore": 0.000535489231067294,
+ "variable": "ad_ontimer_output"
+ },
+ {
+ "contributionScore": 0.001135482610182779,
+ "variable": "ad_output"
+ },
+ {
+ "contributionScore": 0.0012076366721519864,
+ "variable": "ad_input"
+ },
+ {
+ "contributionScore": 0.0012659992776771212,
+ "variable": "ad_series_init"
+ },
+ {
+ "contributionScore": 0.0012904544081908315,
+ "variable": "ingestion"
+ },
+ {
+ "contributionScore": 0.00888920821096907,
+ "variable": "data_in_speed"
+ },
+ {
+ "contributionScore": 0.009422195014322475,
+ "variable": "cpu"
+ },
+ {
+ "contributionScore": 0.1299721634743041,
+ "variable": "flink_last_ckpt_duration"
+ },
+ {
+ "contributionScore": 0.9582214244072471,
+ "variable": "data_out_speed"
+ }
+ ],
+ "isAnomaly": true,
+ "severity": 0.39260817146673,
+ "score": 1.9260817146673
+ }
+ },
+ {
+ "timestamp": "2019-04-01T00:39:00Z",
+ "value": {
+ "contributors": [],
+ "isAnomaly": false,
+ "severity": 0.14112255682016128,
+ "score": 1.4112255682016128
+ }
+ },
+ {
+ "timestamp": "2019-04-01T00:40:00Z",
+ "value": {
+ "contributors": [],
+ "isAnomaly": false,
+ "severity": 0.17805261260751692,
+ "score": 1.7805261260751692
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/LastDetect.json b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/LastDetect.json
new file mode 100644
index 000000000000..f6aee0843243
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/LastDetect.json
@@ -0,0 +1,220 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {
+ "series": [
+ {
+ "timestamp": "1972-01-01T00:00:00Z",
+ "value": 826
+ },
+ {
+ "timestamp": "1972-02-01T00:00:00Z",
+ "value": 799
+ },
+ {
+ "timestamp": "1972-03-01T00:00:00Z",
+ "value": 890
+ },
+ {
+ "timestamp": "1972-04-01T00:00:00Z",
+ "value": 900
+ },
+ {
+ "timestamp": "1972-05-01T00:00:00Z",
+ "value": 961
+ },
+ {
+ "timestamp": "1972-06-01T00:00:00Z",
+ "value": 935
+ },
+ {
+ "timestamp": "1972-07-01T00:00:00Z",
+ "value": 894
+ },
+ {
+ "timestamp": "1972-08-01T00:00:00Z",
+ "value": 855
+ },
+ {
+ "timestamp": "1972-09-01T00:00:00Z",
+ "value": 809
+ },
+ {
+ "timestamp": "1972-10-01T00:00:00Z",
+ "value": 810
+ },
+ {
+ "timestamp": "1972-11-01T00:00:00Z",
+ "value": 766
+ },
+ {
+ "timestamp": "1972-12-01T00:00:00Z",
+ "value": 805
+ },
+ {
+ "timestamp": "1973-01-01T00:00:00Z",
+ "value": 821
+ },
+ {
+ "timestamp": "1973-02-01T00:00:00Z",
+ "value": 773
+ },
+ {
+ "timestamp": "1973-03-01T00:00:00Z",
+ "value": 883
+ },
+ {
+ "timestamp": "1973-04-01T00:00:00Z",
+ "value": 898
+ },
+ {
+ "timestamp": "1973-05-01T00:00:00Z",
+ "value": 957
+ },
+ {
+ "timestamp": "1973-06-01T00:00:00Z",
+ "value": 924
+ },
+ {
+ "timestamp": "1973-07-01T00:00:00Z",
+ "value": 881
+ },
+ {
+ "timestamp": "1973-08-01T00:00:00Z",
+ "value": 837
+ },
+ {
+ "timestamp": "1973-09-01T00:00:00Z",
+ "value": 784
+ },
+ {
+ "timestamp": "1973-10-01T00:00:00Z",
+ "value": 791
+ },
+ {
+ "timestamp": "1973-11-01T00:00:00Z",
+ "value": 760
+ },
+ {
+ "timestamp": "1973-12-01T00:00:00Z",
+ "value": 802
+ },
+ {
+ "timestamp": "1974-01-01T00:00:00Z",
+ "value": 828
+ },
+ {
+ "timestamp": "1974-02-01T00:00:00Z",
+ "value": 1030
+ },
+ {
+ "timestamp": "1974-03-01T00:00:00Z",
+ "value": 889
+ },
+ {
+ "timestamp": "1974-04-01T00:00:00Z",
+ "value": 902
+ },
+ {
+ "timestamp": "1974-05-01T00:00:00Z",
+ "value": 969
+ },
+ {
+ "timestamp": "1974-06-01T00:00:00Z",
+ "value": 947
+ },
+ {
+ "timestamp": "1974-07-01T00:00:00Z",
+ "value": 908
+ },
+ {
+ "timestamp": "1974-08-01T00:00:00Z",
+ "value": 867
+ },
+ {
+ "timestamp": "1974-09-01T00:00:00Z",
+ "value": 815
+ },
+ {
+ "timestamp": "1974-10-01T00:00:00Z",
+ "value": 812
+ },
+ {
+ "timestamp": "1974-11-01T00:00:00Z",
+ "value": 773
+ },
+ {
+ "timestamp": "1974-12-01T00:00:00Z",
+ "value": 813
+ },
+ {
+ "timestamp": "1975-01-01T00:00:00Z",
+ "value": 834
+ },
+ {
+ "timestamp": "1975-02-01T00:00:00Z",
+ "value": 782
+ },
+ {
+ "timestamp": "1975-03-01T00:00:00Z",
+ "value": 892
+ },
+ {
+ "timestamp": "1975-04-01T00:00:00Z",
+ "value": 903
+ },
+ {
+ "timestamp": "1975-05-01T00:00:00Z",
+ "value": 966
+ },
+ {
+ "timestamp": "1975-06-01T00:00:00Z",
+ "value": 937
+ },
+ {
+ "timestamp": "1975-07-01T00:00:00Z",
+ "value": 896
+ },
+ {
+ "timestamp": "1975-08-01T00:00:00Z",
+ "value": 858
+ },
+ {
+ "timestamp": "1975-09-01T00:00:00Z",
+ "value": 817
+ },
+ {
+ "timestamp": "1975-10-01T00:00:00Z",
+ "value": 827
+ },
+ {
+ "timestamp": "1975-11-01T00:00:00Z",
+ "value": 797
+ },
+ {
+ "timestamp": "1975-12-01T00:00:00Z",
+ "value": 843
+ }
+ ],
+ "maxAnomalyRatio": 0.25,
+ "sensitivity": 95,
+ "granularity": "monthly"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isAnomaly": false,
+ "isPositiveAnomaly": false,
+ "isNegativeAnomaly": false,
+ "period": 12,
+ "expectedValue": 809.23280846597038,
+ "upperMargin": 40.461640423298519,
+ "lowerMargin": 40.461640423298519,
+ "suggestedWindow": 49
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/ListModel.json b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/ListModel.json
new file mode 100644
index 000000000000..2ed145f935b1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/ListModel.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "models": [
+ {
+ "modelId": "45aad126-aafd-11ea-b8fb-d89ef3400c5f",
+ "createdTime": "2020-06-30T00:00:00Z",
+ "lastUpdatedTime": "2020-06-30T00:00:00Z",
+ "status": "READY",
+ "displayName": "DevOps-MultiAD",
+ "variablesCount": 18
+ }
+ ],
+ "currentCount": 1,
+ "maxCount": 20,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/TrainModel.json b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/TrainModel.json
new file mode 100644
index 000000000000..d59b4c760d9c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.1-preview/examples/TrainModel.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelRequest": {
+ "slidingWindow": 20,
+ "alignPolicy": {
+ "alignMode": "Outer",
+ "fillNAMethod": "Linear",
+ "paddingValue": 0
+ },
+ "source": "https://multiadsample.blob.core.windows.net/data/sample_data_2_1000.zip?sp=rl&st=2020-12-04T06:03:47Z&se=2022-12-05T06:03:00Z&sv=2019-12-12&sr=b&sig=AZTbvZ7fcp3MdqGY%2FvGHJXJjUgjS4DneCGl7U5omq5c%3D",
+ "startTime": "2019-04-01T00:00:00Z",
+ "endTime": "2019-04-02T00:00:00Z",
+ "displayName": "Devops-MultiAD"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "{Endpoint}/anomalydetector/v1.1-preview/multivariate/models/{modelId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/readme.go.md b/specification/cognitiveservices/data-plane/AnomalyDetector/readme.go.md
index c6d1e676d2f1..afc8e126a14d 100644
--- a/specification/cognitiveservices/data-plane/AnomalyDetector/readme.go.md
+++ b/specification/cognitiveservices/data-plane/AnomalyDetector/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: anomalydetector
clear-output-folder: true
diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/readme.md b/specification/cognitiveservices/data-plane/AnomalyDetector/readme.md
index b2cadf859aa1..c3c059c0cb7c 100644
--- a/specification/cognitiveservices/data-plane/AnomalyDetector/readme.md
+++ b/specification/cognitiveservices/data-plane/AnomalyDetector/readme.md
@@ -4,11 +4,10 @@
Configuration for generating Anomaly Detector SDK.
-The current release is `release_1_0`.
+The current release is `release_1_1_preview`.
``` yaml
-
-tag: release_1_0
+tag: release_1_1_preview
add-credentials: true
openapi-type: data-plane
```
@@ -22,6 +21,15 @@ These settings apply only when `--tag=release_1_0` is specified on the command l
input-file: stable/v1.0/AnomalyDetector.json
```
+### Release 1.1-preview
+These settings apply only when `--tag=release_1_1_preview` is specified on the command line.
+
+``` yaml $(tag) == 'release_1_1_preview'
+input-file:
+ - preview/v1.1-preview/AnomalyDetector.json
+ - preview/v1.1-preview/MultivariateAnomalyDetector.json
+```
+
## Swagger to SDK
This section describes what SDK should be generated by the automatic system.
@@ -42,14 +50,13 @@ swagger-to-sdk:
These settings apply only when `--csharp` is specified on the command line.
-``` yaml $(csharp)
-csharp:
- sync-methods: None
- license-header: MICROSOFT_MIT_NO_VERSION
- azure-arm: false
- namespace: Microsoft.Azure.CognitiveServices.AnomalyDetector
- output-folder: $(csharp-sdks-folder)/cognitiveservices/AnomalyDetector/src/Generated
- clear-output-folder: true
+```yaml $(csharp)
+sync-methods: None
+license-header: MICROSOFT_MIT_NO_VERSION
+azure-arm: false
+namespace: Microsoft.Azure.CognitiveServices.AnomalyDetector
+output-folder: $(csharp-sdks-folder)/cognitiveservices/AnomalyDetector/src/Generated
+clear-output-folder: true
```
## Python
@@ -65,19 +72,18 @@ See configuration in [readme.go.md](./readme.go.md)
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
- 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 2ce01c4470c6..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
```
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/Ocr.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/Ocr.json
index 69b91791d362..665d0e1f52d8 100644
--- a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/Ocr.json
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/Ocr.json
@@ -48,6 +48,9 @@
},
{
"$ref": "#/parameters/OcrModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ReadingOrder"
}
],
"consumes": [
@@ -133,6 +136,12 @@
},
{
"$ref": "#/parameters/Pages"
+ },
+ {
+ "$ref": "#/parameters/OcrModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ReadingOrder"
}
],
"consumes": [
@@ -594,6 +603,15 @@
"type": "string",
"pattern": "^(latest|\\d{4}-\\d{2}-\\d{2})(-preview)?$",
"default": "latest"
+ },
+ "ReadingOrder": {
+ "name": "readingOrder",
+ "in": "query",
+ "description": "Optional parameter to specify which reading order algorithm should be applied when ordering the extract text elements. Can be either 'basic' or 'natural'. Will default to 'basic' if not specified",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "default": "basic"
}
}
}
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/preview/v1.0-preview/Face.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/Face.json
new file mode 100644
index 000000000000..e7cef17c8c3f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/Face.json
@@ -0,0 +1,5548 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "1.0-preview",
+ "title": "Face Client",
+ "description": "An API for face detection, verification, and identification."
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}/face/v1.0-preview",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ },
+ "paths": {
+ "/findsimilars": {
+ "post": {
+ "description": "Given query face's faceId, to search the similar-looking faces from a faceId array, a face list or a large face list. faceId array contains the faces created by [Face - Detect With Url](https://docs.microsoft.com/rest/api/faceapi/face/detectwithurl) or [Face - Detect With Stream](https://docs.microsoft.com/rest/api/faceapi/face/detectwithstream), which will expire at the time specified by faceIdTimeToLive after creation. A \"faceListId\" is created by [FaceList - Create](https://docs.microsoft.com/rest/api/faceapi/facelist/create) containing persistedFaceIds that will not expire. And a \"largeFaceListId\" is created by [LargeFaceList - Create](https://docs.microsoft.com/rest/api/faceapi/largefacelist/create) containing persistedFaceIds that will also not expire. Depending on the input the returned similar faces list contains faceIds or persistedFaceIds ranked by similarity.\n
Find similar has two working modes, \"matchPerson\" and \"matchFace\". \"matchPerson\" is the default mode that it tries to find faces of the same person as possible by using internal same-person thresholds. It is useful to find a known person's other photos. Note that an empty list will be returned if no faces pass the internal thresholds. \"matchFace\" mode ignores same-person thresholds and returns ranked similar faces anyway, even the similarity is low. It can be used in the cases like searching celebrity-looking faces.\n
The 'recognitionModel' associated with the query face's faceId should be the same as the 'recognitionModel' used by the target faceId array, face list or large face list.\n",
+ "operationId": "Face_FindSimilar",
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Request body for Find Similar.",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/FindSimilarRequest"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an array of the most similar faces represented in faceId if the input parameter is faceIds or persistedFaceId if the input parameter is faceListId.",
+ "schema": {
+ "$ref": "#/definitions/SimilarFaces"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Find similar results example": {
+ "$ref": "./examples/FindSimilar.json"
+ }
+ }
+ }
+ },
+ "/group": {
+ "post": {
+ "description": "Divide candidate faces into groups based on face similarity.
\n* The output is one or more disjointed face groups and a messyGroup. A face group contains faces that have similar looking, often of the same person. Face groups are ranked by group size, i.e. number of faces. Notice that faces belonging to a same person might be split into several groups in the result.\n* MessyGroup is a special face group containing faces that cannot find any similar counterpart face from original faces. The messyGroup will not appear in the result if all faces found their counterparts.\n* Group API needs at least 2 candidate faces and 1000 at most. We suggest to try [Face - Verify](https://docs.microsoft.com/rest/api/faceapi/face/verifyfacetoface) when you only have 2 candidate faces.\n* The 'recognitionModel' associated with the query faces' faceIds should be the same.\n",
+ "operationId": "Face_Group",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Request body for grouping.",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/GroupRequest"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns one or more groups of similar faces (rank by group size) and a messyGroup.",
+ "schema": {
+ "$ref": "#/definitions/GroupResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Group example": {
+ "$ref": "./examples/Group.json"
+ }
+ }
+ }
+ },
+ "/identify": {
+ "post": {
+ "description": "1-to-many identification to find the closest matches of the specific query person face from a person group, large person group, person directory dynamic person group or person directory personIds array.\n
For each face in the faceIds array, Face Identify will compute similarities between the query face and all the faces in the person group (given by personGroupId) or large person group (given by largePersonGroupId), and return candidate person(s) for that face ranked by similarity confidence. The person group/large person group should be trained to make it ready for identification. See more in [PersonGroup - Train](https://docs.microsoft.com/rest/api/faceapi/persongroup/train) and [LargePersonGroup - Train](https://docs.microsoft.com/rest/api/faceapi/largepersongroup/train).\n
\n \nRemarks:
\n* The algorithm allows more than one face to be identified independently at the same request, but no more than 10 faces.\n* Each person in the person group/large person group could have more than one face, but no more than 248 faces.\n* Higher face image quality means better identification precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n* Number of candidates returned is restricted by maxNumOfCandidatesReturned and confidenceThreshold. If no person is identified, the returned candidates will be an empty array.\n* Try [Face - Find Similar](https://docs.microsoft.com/rest/api/faceapi/face/findsimilar) when you need to find similar faces from a face list/large face list instead of a person group/large person group.\n* The 'recognitionModel' associated with the query faces' faceIds should be the same as the 'recognitionModel' used by the target person group or large person group.\n",
+ "operationId": "Face_Identify",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Request body for identify operation.",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/IdentifyRequest"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns the identified candidate person(s) for each query face.",
+ "schema": {
+ "$ref": "#/definitions/IdentifyResults"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Identify example": {
+ "$ref": "./examples/Identify.json"
+ }
+ }
+ }
+ },
+ "/verify": {
+ "post": {
+ "description": "Verify whether two faces belong to a same person or whether one face belongs to a person.\n
\nRemarks:
\n* Higher face image quality means better identification precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n* For the scenarios that are sensitive to accuracy please make your own judgment.\n* The 'recognitionModel' associated with the query faces' faceIds should be the same as the 'recognitionModel' used by the target face, person group or large person group.\n",
+ "operationId": "Face_VerifyFaceToFace",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Request body for face to face verification.",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/VerifyFaceToFaceRequest"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns the verification result.",
+ "schema": {
+ "$ref": "#/definitions/VerifyResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Verify faces example": {
+ "$ref": "./examples/VerifyFaceToFace.json"
+ }
+ }
+ }
+ },
+ "/persongroups/{personGroupId}/persons": {
+ "post": {
+ "description": "Create a new person in a specified person group.",
+ "operationId": "PersonGroupPerson_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/personGroupId"
+ },
+ {
+ "name": "body",
+ "description": "Request body for creating new person.",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/NameAndUserDataContract"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns a new personId created.",
+ "schema": {
+ "$ref": "#/definitions/Person"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create new person for person group example": {
+ "$ref": "./examples/CreateNewPersonGroupPerson.json"
+ }
+ }
+ },
+ "get": {
+ "description": "List all persons in a person group, and retrieve person information (including personId, name, userData and persistedFaceIds of registered faces of the person).",
+ "operationId": "PersonGroupPerson_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/personGroupId"
+ },
+ {
+ "name": "start",
+ "description": "Starting person id to return (used to list a range of persons).",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "top",
+ "description": "Number of persons to return starting with the person id indicated by the 'start' parameter.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an array of person information that belong to the person group.",
+ "schema": {
+ "$ref": "#/definitions/Persons"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List persons in person group": {
+ "$ref": "./examples/ListPersonGroupPersons.json"
+ }
+ }
+ }
+ },
+ "/persongroups/{personGroupId}/persons/{personId}": {
+ "delete": {
+ "description": "Delete an existing person from a person group. The persistedFaceId, userData, person name and face feature in the person entry will all be deleted.",
+ "operationId": "PersonGroupPerson_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/personGroupId"
+ },
+ {
+ "$ref": "#/parameters/personId"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete an existing person example": {
+ "$ref": "./examples/DeletePersonGroupPerson.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieve a person's information, including registered persisted faces, name and userData.",
+ "operationId": "PersonGroupPerson_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/personGroupId"
+ },
+ {
+ "$ref": "#/parameters/personId"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns the person's information.",
+ "schema": {
+ "$ref": "#/definitions/Person"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get person example": {
+ "$ref": "./examples/GetPersonGroupPerson.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Update name or userData of a person.",
+ "operationId": "PersonGroupPerson_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/personGroupId"
+ },
+ {
+ "$ref": "#/parameters/personId"
+ },
+ {
+ "name": "body",
+ "description": "Request body for person update operation.",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/NameAndUserDataContract"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update person example": {
+ "$ref": "./examples/UpdatePersonGroupPerson.json"
+ }
+ }
+ }
+ },
+ "/persongroups/{personGroupId}/persons/{personId}/persistedfaces/{persistedFaceId}": {
+ "delete": {
+ "description": "Delete a face from a person in a person group by specified personGroupId, personId and persistedFaceId.\n
Adding/deleting faces to/from a same person will be processed sequentially. Adding/deleting faces to/from different persons are processed in parallel.",
+ "operationId": "PersonGroupPerson_DeleteFace",
+ "parameters": [
+ {
+ "$ref": "#/parameters/personGroupId"
+ },
+ {
+ "$ref": "#/parameters/personId"
+ },
+ {
+ "$ref": "#/parameters/persistedFaceId"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete face from person example": {
+ "$ref": "./examples/DeletePersonGroupPersonFace.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieve information about a persisted face (specified by persistedFaceId, personId and its belonging personGroupId).",
+ "operationId": "PersonGroupPerson_GetFace",
+ "parameters": [
+ {
+ "$ref": "#/parameters/personGroupId"
+ },
+ {
+ "$ref": "#/parameters/personId"
+ },
+ {
+ "$ref": "#/parameters/persistedFaceId"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns target persisted face's information (persistedFaceId and userData).",
+ "schema": {
+ "$ref": "#/definitions/PersistedFace"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get persisted face example": {
+ "$ref": "./examples/GetPersonGroupPersistedFace.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Add a face to a person into a person group for face identification or verification. To deal with an image contains multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature will be stored on server until [PersonGroup PersonFace - Delete](https://docs.microsoft.com/rest/api/faceapi/persongroupperson/deleteface), [PersonGroup Person - Delete](https://docs.microsoft.com/rest/api/faceapi/persongroupperson/delete) or [PersonGroup - Delete](https://docs.microsoft.com/rest/api/faceapi/persongroup/delete) is called.\n
Note persistedFaceId is different from faceId generated by [Face - Detect](https://docs.microsoft.com/rest/api/faceapi/face/detectwithurl).\n* Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n* Each person entry can hold up to 248 faces.\n* JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n* \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from [Face - Detect](https://docs.microsoft.com/rest/api/faceapi/face/detectwithurl), there’s no guarantee to detect and add the face successfully.\n* Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n* Adding/deleting faces to/from a same person will be processed sequentially. Adding/deleting faces to/from different persons are processed in parallel.",
+ "operationId": "PersonGroupPerson_UpdateFace",
+ "parameters": [
+ {
+ "$ref": "#/parameters/personGroupId"
+ },
+ {
+ "$ref": "#/parameters/personId"
+ },
+ {
+ "$ref": "#/parameters/persistedFaceId"
+ },
+ {
+ "name": "body",
+ "description": "Request body for updating persisted face.",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateFaceRequest"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update person face example": {
+ "$ref": "./examples/UpdatePersonGroupPersonFace.json"
+ }
+ }
+ }
+ },
+ "/persongroups/{personGroupId}": {
+ "put": {
+ "description": "Create a new person group with specified personGroupId, name, user-provided userData and recognitionModel.\n
A person group is the container of the uploaded person data, including face recognition features.\n
After creation, use [PersonGroup Person - Create](https://docs.microsoft.com/rest/api/faceapi/persongroupperson/create) to add persons into the group, and then call [PersonGroup - Train](https://docs.microsoft.com/rest/api/faceapi/persongroup/train) to get this group ready for [Face - Identify](https://docs.microsoft.com/rest/api/faceapi/face/identify).\n
No image will be stored. Only the person's extracted face features and userData will be stored on server until [PersonGroup Person - Delete](https://docs.microsoft.com/rest/api/faceapi/persongroupperson/delete) or [PersonGroup - Delete](https://docs.microsoft.com/rest/api/faceapi/persongroup/delete) is called.\n
'recognitionModel' should be specified to associate with this person group. The default value for 'recognitionModel' is 'recognition_01', if the latest model needed, please explicitly specify the model you need in this parameter. New faces that are added to an existing person group will use the recognition model that's already associated with the collection. Existing face features in a person group can't be updated to features extracted by another version of recognition model.\n\nPerson group quota:\n* Free-tier subscription quota: 1,000 person groups. Each holds up to 1,000 persons.\n* S0-tier subscription quota: 1,000,000 person groups. Each holds up to 10,000 persons.\n* to handle larger scale face identification problem, please consider using [LargePersonGroup](https://docs.microsoft.com/rest/api/faceapi/largepersongroup).",
+ "operationId": "PersonGroup_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/personGroupId"
+ },
+ {
+ "name": "body",
+ "description": "Request body for creating new person group.",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/MetaDataContract"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create new person group example": {
+ "$ref": "./examples/CreateNewPersonGroup.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Delete an existing person group. Persisted face features of all people in the person group will also be deleted.",
+ "operationId": "PersonGroup_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/personGroupId"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a person group example": {
+ "$ref": "./examples/DeletePersonGroup.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieve person group name, userData and recognitionModel. To get person information under this personGroup, use [PersonGroup Person - List](https://docs.microsoft.com/rest/api/faceapi/persongroupperson/list).",
+ "operationId": "PersonGroup_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/personGroupId"
+ },
+ {
+ "$ref": "#/parameters/returnRecognitionModel"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns the person group's information.",
+ "schema": {
+ "$ref": "#/definitions/PersonGroup"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Get person group example": {
+ "$ref": "./examples/GetPersonGroup.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Update an existing person group's display name and userData. The properties which does not appear in request body will not be updated.",
+ "operationId": "PersonGroup_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/personGroupId"
+ },
+ {
+ "name": "body",
+ "description": "Request body for updating person group.",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/NameAndUserDataContract"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update person group example": {
+ "$ref": "./examples/UpdatePersonGroup.json"
+ }
+ }
+ }
+ },
+ "/persongroups/{personGroupId}/training": {
+ "get": {
+ "description": "Retrieve the training status of a person group (completed or ongoing).",
+ "operationId": "PersonGroup_GetTrainingStatus",
+ "parameters": [
+ {
+ "$ref": "#/parameters/personGroupId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns the person group's training status.",
+ "schema": {
+ "$ref": "#/definitions/TrainingStatus"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Get person group's training status example": {
+ "$ref": "./examples/GetPersonGroupTrainingStatus.json"
+ }
+ }
+ }
+ },
+ "/persongroups": {
+ "get": {
+ "description": "List person groups’ personGroupId, name, userData and recognitionModel.
\n* Person groups are stored in alphabetical order of personGroupId.\n* \"start\" parameter (string, optional) is a user-provided personGroupId value that returned entries have larger ids by string comparison. \"start\" set to empty to indicate return from the first item.\n* \"top\" parameter (int, optional) specifies the number of entries to return. A maximal of 1000 entries can be returned in one call. To fetch more, you can specify \"start\" with the last returned entry’s Id of the current call.\n
\nFor example, total 5 person groups: \"group1\", ..., \"group5\".\n
\"start=&top=\" will return all 5 groups.\n
\"start=&top=2\" will return \"group1\", \"group2\".\n
\"start=group2&top=3\" will return \"group3\", \"group4\", \"group5\".\n",
+ "operationId": "PersonGroup_List",
+ "parameters": [
+ {
+ "name": "start",
+ "in": "query",
+ "required": false,
+ "description": "List person groups from the least personGroupId greater than the \"start\".",
+ "type": "string",
+ "maxLength": 64
+ },
+ {
+ "name": "top",
+ "in": "query",
+ "required": false,
+ "description": "The number of person groups to list.",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000,
+ "default": 1000
+ },
+ {
+ "$ref": "#/parameters/returnRecognitionModel"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an array of person groups and their information.",
+ "schema": {
+ "$ref": "#/definitions/PersonGroups"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List person groups example": {
+ "$ref": "./examples/ListPersonGroups.json"
+ }
+ }
+ }
+ },
+ "/persongroups/{personGroupId}/train": {
+ "post": {
+ "description": "Queue a person group training task, the training task may not be started immediately.",
+ "operationId": "PersonGroup_Train",
+ "parameters": [
+ {
+ "$ref": "#/parameters/personGroupId"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "The training task was queued successfully."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Queue person group training": {
+ "$ref": "./examples/QueuePersonGroupTraining.json"
+ }
+ }
+ }
+ },
+ "/facelists/{faceListId}": {
+ "put": {
+ "description": "Create an empty face list with user-specified faceListId, name, an optional userData and recognitionModel. Up to 64 face lists are allowed in one subscription.\n
Face list is a list of faces, up to 1,000 faces, and used by [Face - Find Similar](https://docs.microsoft.com/rest/api/faceapi/face/findsimilar).\n
After creation, user should use [FaceList - Add Face](https://docs.microsoft.com/rest/api/faceapi/facelist/addfacefromurl) to import the faces. No image will be stored. Only the extracted face features are stored on server until [FaceList - Delete](https://docs.microsoft.com/rest/api/faceapi/facelist/delete) is called.\n
Find Similar is used for scenario like finding celebrity-like faces, similar face filtering, or as a light way face identification. But if the actual use is to identify person, please use [PersonGroup](https://docs.microsoft.com/rest/api/faceapi/persongroup) / [LargePersonGroup](https://docs.microsoft.com/rest/api/faceapi/largepersongroup) and [Face - Identify](https://docs.microsoft.com/rest/api/faceapi/face/identify).\n
Please consider [LargeFaceList](https://docs.microsoft.com/rest/api/faceapi/largefacelist) when the face number is large. It can support up to 1,000,000 faces.\n
'recognitionModel' should be specified to associate with this face list. The default value for 'recognitionModel' is 'recognition_01', if the latest model needed, please explicitly specify the model you need in this parameter. New faces that are added to an existing face list will use the recognition model that's already associated with the collection. Existing face features in a face list can't be updated to features extracted by another version of recognition model.\nPlease Refer to [Specify a face recognition model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-recognition-model).",
+ "operationId": "FaceList_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/faceListId"
+ },
+ {
+ "name": "body",
+ "description": "Request body for creating a face list.",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/MetaDataContract"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create new face list example": {
+ "$ref": "./examples/CreateNewFaceList.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieve a face list’s faceListId, name, userData, recognitionModel and faces in the face list.\n",
+ "operationId": "FaceList_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/faceListId"
+ },
+ {
+ "$ref": "#/parameters/returnRecognitionModel"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns the face list's information.",
+ "schema": {
+ "$ref": "#/definitions/FaceList"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Face list example": {
+ "$ref": "./examples/GetFaceList.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Update information of a face list.",
+ "operationId": "FaceList_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/faceListId"
+ },
+ {
+ "name": "body",
+ "description": "Request body for updating a face list.",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/NameAndUserDataContract"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update face list example": {
+ "$ref": "./examples/UpdateFaceList.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Delete a specified face list.",
+ "operationId": "FaceList_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/faceListId"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete face list example": {
+ "$ref": "./examples/DeleteFaceList.json"
+ }
+ }
+ }
+ },
+ "/facelists": {
+ "get": {
+ "description": "List face lists’ faceListId, name, userData and recognitionModel.
\nTo get face information inside faceList use [FaceList - Get](https://docs.microsoft.com/rest/api/faceapi/facelist/get)\n",
+ "operationId": "FaceList_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/returnRecognitionModel"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an array of faceList.",
+ "schema": {
+ "$ref": "#/definitions/FaceLists"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "List Face lists example": {
+ "$ref": "./examples/ListFaceLists.json"
+ }
+ }
+ }
+ },
+ "/facelists/{faceListId}/persistedfaces/{persistedFaceId}": {
+ "delete": {
+ "description": "Delete a face from a face list by specified faceListId and persistedFaceId.\n
Adding/deleting faces to/from a same face list are processed sequentially and to/from different face lists are in parallel.",
+ "operationId": "FaceList_DeleteFace",
+ "parameters": [
+ {
+ "$ref": "#/parameters/faceListId"
+ },
+ {
+ "$ref": "#/parameters/persistedFaceId"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete face in face list example": {
+ "$ref": "./examples/DeleteFaceListFace.json"
+ }
+ }
+ }
+ },
+ "/persongroups/{personGroupId}/persons/{personId}/persistedfaces": {
+ "post": {
+ "description": "Add a face to a person into a person group for face identification or verification. To deal with an image contains multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature will be stored on server until [PersonGroup PersonFace - Delete](https://docs.microsoft.com/rest/api/faceapi/persongroupperson/deleteface), [PersonGroup Person - Delete](https://docs.microsoft.com/rest/api/faceapi/persongroupperson/delete) or [PersonGroup - Delete](https://docs.microsoft.com/rest/api/faceapi/persongroup/delete) is called.\n
Note persistedFaceId is different from faceId generated by [Face - Detect](https://docs.microsoft.com/rest/api/faceapi/face/detectwithurl).\n* Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n* Each person entry can hold up to 248 faces.\n* JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n* \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from [Face - Detect](https://docs.microsoft.com/rest/api/faceapi/face/detectwithurl), there’s no guarantee to detect and add the face successfully.\n* Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n* Adding/deleting faces to/from a same person will be processed sequentially. Adding/deleting faces to/from different persons are processed in parallel.\n* The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model).",
+ "operationId": "PersonGroupPerson_AddFaceFromUrl",
+ "parameters": [
+ {
+ "$ref": "#/parameters/personGroupId"
+ },
+ {
+ "$ref": "#/parameters/personId"
+ },
+ {
+ "$ref": "#/parameters/faceUserData"
+ },
+ {
+ "$ref": "#/parameters/targetFace"
+ },
+ {
+ "$ref": "../../../Common/Parameters.json#/parameters/ImageUrl"
+ },
+ {
+ "$ref": "#/parameters/detectionModel"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns the new persistedFaceId.",
+ "schema": {
+ "$ref": "#/definitions/PersistedFace"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Add Person face example": {
+ "$ref": "./examples/AddPersonGroupPersonFaceFromUrl.json"
+ }
+ }
+ }
+ },
+ "/detect": {
+ "post": {
+ "description": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.
\n* No image will be stored. Only the extracted face feature will be stored on server. The faceId is an identifier of the face feature and will be used in [Face - Identify](https://docs.microsoft.com/rest/api/faceapi/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/faceapi/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/faceapi/face/findsimilar). The stored face feature(s) will expire and be deleted at the time specified by faceIdTimeToLive after the original detection call.\n* Optional parameters include faceId, landmarks, and attributes. Attributes include age, gender, headPose, smile, facialHair, glasses, emotion, hair, makeup, occlusion, accessories, blur, exposure, noise, and mask. Some of the results returned for specific attributes may not be highly accurate.\n* JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n* Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small.\n* For optimal results when querying [Face - Identify](https://docs.microsoft.com/rest/api/faceapi/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/faceapi/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/faceapi/face/findsimilar) ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\n* The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model).\n\n* Different 'recognitionModel' values are provided. If follow-up operations like Verify, Identify, Find Similar are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to [Specify a recognition model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-recognition-model).",
+ "operationId": "Face_DetectWithUrl",
+ "parameters": [
+ {
+ "$ref": "#/parameters/returnFaceId"
+ },
+ {
+ "$ref": "#/parameters/returnFaceLandmarks"
+ },
+ {
+ "$ref": "#/parameters/returnFaceAttributes"
+ },
+ {
+ "$ref": "../../../Common/Parameters.json#/parameters/ImageUrl"
+ },
+ {
+ "$ref": "#/parameters/recognitionModel"
+ },
+ {
+ "$ref": "#/parameters/returnRecognitionModel"
+ },
+ {
+ "$ref": "#/parameters/detectionModel"
+ },
+ {
+ "$ref": "#/parameters/faceIdTimeToLive"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an array of face entries ranked by face rectangle size in descending order. An empty response indicates no faces detected.",
+ "schema": {
+ "$ref": "#/definitions/DetectedFaces"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Detect with url example": {
+ "$ref": "./examples/DetectWithUrl.json"
+ }
+ }
+ }
+ },
+ "/facelists/{faceListId}/persistedfaces": {
+ "post": {
+ "description": "Add a face to a specified face list, up to 1,000 faces.\n
To deal with an image contains multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature will be stored on server until [FaceList - Delete Face](https://docs.microsoft.com/rest/api/faceapi/facelist/deleteface) or [FaceList - Delete](https://docs.microsoft.com/rest/api/faceapi/facelist/delete) is called.\n
Note persistedFaceId is different from faceId generated by [Face - Detect](https://docs.microsoft.com/rest/api/faceapi/face/detectwithurl).\n* Higher face image quality means better detection and recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n* JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n* \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from [Face - Detect](https://docs.microsoft.com/rest/api/faceapi/face/detectwithurl), there’s no guarantee to detect and add the face successfully.\n* Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n* Adding/deleting faces to/from a same face list are processed sequentially and to/from different face lists are in parallel.\n* The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model).",
+ "operationId": "FaceList_AddFaceFromUrl",
+ "parameters": [
+ {
+ "$ref": "#/parameters/faceListId"
+ },
+ {
+ "$ref": "#/parameters/faceUserData"
+ },
+ {
+ "$ref": "#/parameters/targetFace"
+ },
+ {
+ "$ref": "../../../Common/Parameters.json#/parameters/ImageUrl"
+ },
+ {
+ "$ref": "#/parameters/detectionModel"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns a new persistedFaceId.",
+ "schema": {
+ "$ref": "#/definitions/PersistedFace"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create face list face example": {
+ "$ref": "./examples/AddFaceListFaceFromUrl.json"
+ }
+ }
+ }
+ },
+ "/largepersongroups/{largePersonGroupId}/persons": {
+ "post": {
+ "description": "Create a new person in a specified large person group.",
+ "operationId": "LargePersonGroupPerson_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largePersonGroupId"
+ },
+ {
+ "name": "body",
+ "description": "Request body for creating new person.",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/NameAndUserDataContract"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns a new personId created.",
+ "schema": {
+ "$ref": "#/definitions/Person"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create new person for large person group example": {
+ "$ref": "./examples/CreateNewLargePersonGroupPerson.json"
+ }
+ }
+ },
+ "get": {
+ "description": "List all persons in a large person group, and retrieve person information (including personId, name, userData and persistedFaceIds of registered faces of the person).",
+ "operationId": "LargePersonGroupPerson_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largePersonGroupId"
+ },
+ {
+ "name": "start",
+ "description": "Starting person id to return (used to list a range of persons).",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "top",
+ "description": "Number of persons to return starting with the person id indicated by the 'start' parameter.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an array of person information that belong to the large person group.",
+ "schema": {
+ "$ref": "#/definitions/Persons"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List persons in person group": {
+ "$ref": "./examples/ListLargePersonGroupPersons.json"
+ }
+ }
+ }
+ },
+ "/largepersongroups/{largePersonGroupId}/persons/{personId}": {
+ "delete": {
+ "description": "Delete an existing person from a large person group. The persistedFaceId, userData, person name and face feature in the person entry will all be deleted.",
+ "operationId": "LargePersonGroupPerson_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largePersonGroupId"
+ },
+ {
+ "$ref": "#/parameters/personId"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete an existing person example": {
+ "$ref": "./examples/DeleteLargePersonGroupPerson.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieve a person's name and userData, and the persisted faceIds representing the registered person face feature.",
+ "operationId": "LargePersonGroupPerson_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largePersonGroupId"
+ },
+ {
+ "$ref": "#/parameters/personId"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns the person's information.",
+ "schema": {
+ "$ref": "#/definitions/Person"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get person example": {
+ "$ref": "./examples/GetLargePersonGroupPerson.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Update name or userData of a person.",
+ "operationId": "LargePersonGroupPerson_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largePersonGroupId"
+ },
+ {
+ "$ref": "#/parameters/personId"
+ },
+ {
+ "name": "body",
+ "description": "Request body for person update operation.",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/NameAndUserDataContract"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update person example": {
+ "$ref": "./examples/UpdateLargePersonGroupPerson.json"
+ }
+ }
+ }
+ },
+ "/largepersongroups/{largePersonGroupId}/persons/{personId}/persistedfaces/{persistedFaceId}": {
+ "delete": {
+ "description": "Delete a face from a person in a large person group by specified largePersonGroupId, personId and persistedFaceId.\n
Adding/deleting faces to/from a same person will be processed sequentially. Adding/deleting faces to/from different persons are processed in parallel.",
+ "operationId": "LargePersonGroupPerson_DeleteFace",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largePersonGroupId"
+ },
+ {
+ "$ref": "#/parameters/personId"
+ },
+ {
+ "$ref": "#/parameters/persistedFaceId"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete face from person example": {
+ "$ref": "./examples/DeleteLargePersonGroupPersonFace.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieve information about a persisted face (specified by persistedFaceId, personId and its belonging largePersonGroupId).",
+ "operationId": "LargePersonGroupPerson_GetFace",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largePersonGroupId"
+ },
+ {
+ "$ref": "#/parameters/personId"
+ },
+ {
+ "$ref": "#/parameters/persistedFaceId"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns target persisted face's information (persistedFaceId and userData).",
+ "schema": {
+ "$ref": "#/definitions/PersistedFace"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get persisted face example": {
+ "$ref": "./examples/GetLargePersonGroupPersistedFace.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Update a person persisted face's userData field.",
+ "operationId": "LargePersonGroupPerson_UpdateFace",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largePersonGroupId"
+ },
+ {
+ "$ref": "#/parameters/personId"
+ },
+ {
+ "$ref": "#/parameters/persistedFaceId"
+ },
+ {
+ "name": "body",
+ "description": "Request body for updating persisted face.",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateFaceRequest"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update person face example": {
+ "$ref": "./examples/UpdateLargePersonGroupPersonFace.json"
+ }
+ }
+ }
+ },
+ "/largepersongroups/{largePersonGroupId}": {
+ "put": {
+ "description": "Create a new large person group with user-specified largePersonGroupId, name, an optional userData and recognitionModel.\n
A large person group is the container of the uploaded person data, including face recognition feature, and up to 1,000,000\npeople.\n
After creation, use [LargePersonGroup Person - Create](https://docs.microsoft.com/rest/api/faceapi/largepersongroupperson/create) to add person into the group, and call [LargePersonGroup - Train](https://docs.microsoft.com/rest/api/faceapi/largepersongroup/train) to get this group ready for [Face - Identify](https://docs.microsoft.com/rest/api/faceapi/face/identify).\n
No image will be stored. Only the person's extracted face features and userData will be stored on server until [LargePersonGroup Person - Delete](https://docs.microsoft.com/rest/api/faceapi/largepersongroupperson/delete) or [LargePersonGroup - Delete](https://docs.microsoft.com/rest/api/faceapi/largepersongroup/delete) is called.\n
'recognitionModel' should be specified to associate with this large person group. The default value for 'recognitionModel' is 'recognition_01', if the latest model needed, please explicitly specify the model you need in this parameter. New faces that are added to an existing large person group will use the recognition model that's already associated with the collection. Existing face features in a large person group can't be updated to features extracted by another version of recognition model. Please refer to [Specify a face recognition model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-recognition-model).\n\nLarge person group quota:\n* Free-tier subscription quota: 1,000 large person groups.\n* S0-tier subscription quota: 1,000,000 large person groups.",
+ "operationId": "LargePersonGroup_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largePersonGroupId"
+ },
+ {
+ "name": "body",
+ "description": "Request body for creating new large person group.",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/MetaDataContract"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create new large person group example": {
+ "$ref": "./examples/CreateNewLargePersonGroup.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Delete an existing large person group. Persisted face features of all people in the large person group will also be deleted.",
+ "operationId": "LargePersonGroup_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largePersonGroupId"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a large person group example": {
+ "$ref": "./examples/DeleteLargePersonGroup.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieve the information of a large person group, including its name, userData and recognitionModel. This API returns large person group information only, use [LargePersonGroup Person - List](https://docs.microsoft.com/rest/api/faceapi/largepersongroupperson/list) instead to retrieve person information under the large person group.\n",
+ "operationId": "LargePersonGroup_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largePersonGroupId"
+ },
+ {
+ "$ref": "#/parameters/returnRecognitionModel"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns the large person group's information.",
+ "schema": {
+ "$ref": "#/definitions/LargePersonGroup"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Get large person group example": {
+ "$ref": "./examples/GetLargePersonGroup.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Update an existing large person group's display name and userData. The properties which does not appear in request body will not be updated.",
+ "operationId": "LargePersonGroup_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largePersonGroupId"
+ },
+ {
+ "name": "body",
+ "description": "Request body for updating large person group.",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/NameAndUserDataContract"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update large person group example": {
+ "$ref": "./examples/UpdateLargePersonGroup.json"
+ }
+ }
+ }
+ },
+ "/largepersongroups/{largePersonGroupId}/training": {
+ "get": {
+ "description": "Retrieve the training status of a large person group (completed or ongoing).",
+ "operationId": "LargePersonGroup_GetTrainingStatus",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largePersonGroupId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns the large person group's training status.",
+ "schema": {
+ "$ref": "#/definitions/TrainingStatus"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Get large person group's training status example": {
+ "$ref": "./examples/GetLargePersonGroupTrainingStatus.json"
+ }
+ }
+ }
+ },
+ "/largepersongroups": {
+ "get": {
+ "description": "List all existing large person groups’ largePersonGroupId, name, userData and recognitionModel.
\n* Large person groups are stored in alphabetical order of largePersonGroupId.\n* \"start\" parameter (string, optional) is a user-provided largePersonGroupId value that returned entries have larger ids by string comparison. \"start\" set to empty to indicate return from the first item.\n* \"top\" parameter (int, optional) specifies the number of entries to return. A maximal of 1000 entries can be returned in one call. To fetch more, you can specify \"start\" with the last returned entry’s Id of the current call.\n
\nFor example, total 5 large person groups: \"group1\", ..., \"group5\".\n
\"start=&top=\" will return all 5 groups.\n
\"start=&top=2\" will return \"group1\", \"group2\".\n
\"start=group2&top=3\" will return \"group3\", \"group4\", \"group5\".\n",
+ "operationId": "LargePersonGroup_List",
+ "parameters": [
+ {
+ "name": "start",
+ "in": "query",
+ "required": false,
+ "description": "List large person groups from the least largePersonGroupId greater than the \"start\".",
+ "type": "string",
+ "maxLength": 64
+ },
+ {
+ "name": "top",
+ "in": "query",
+ "required": false,
+ "description": "The number of large person groups to list.",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000,
+ "default": 1000
+ },
+ {
+ "$ref": "#/parameters/returnRecognitionModel"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an array of large person groups and their information.",
+ "schema": {
+ "$ref": "#/definitions/LargePersonGroups"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List large person groups example": {
+ "$ref": "./examples/ListLargePersonGroups.json"
+ }
+ }
+ }
+ },
+ "/largepersongroups/{largePersonGroupId}/train": {
+ "post": {
+ "description": "Queue a large person group training task, the training task may not be started immediately.",
+ "operationId": "LargePersonGroup_Train",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largePersonGroupId"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "The training task was queued successfully."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Queue large person group training": {
+ "$ref": "./examples/QueueLargePersonGroupTraining.json"
+ }
+ }
+ }
+ },
+ "/largepersongroups/{largePersonGroupId}/persons/{personId}/persistedfaces": {
+ "post": {
+ "description": "Add a face to a person into a large person group for face identification or verification. To deal with an image contains multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature will be stored on server until [LargePersonGroup PersonFace - Delete](https://docs.microsoft.com/rest/api/faceapi/largepersongroupperson/deleteface), [LargePersonGroup Person - Delete](https://docs.microsoft.com/rest/api/faceapi/largepersongroupperson/delete) or [LargePersonGroup - Delete](https://docs.microsoft.com/rest/api/faceapi/largepersongroup/delete) is called.\n
Note persistedFaceId is different from faceId generated by [Face - Detect](https://docs.microsoft.com/rest/api/faceapi/face/detectwithurl).\n* Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n* Each person entry can hold up to 248 faces.\n* JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n* \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from [Face - Detect](https://docs.microsoft.com/rest/api/faceapi/face/detectwithurl), there’s no guarantee to detect and add the face successfully.\n* Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n* Adding/deleting faces to/from a same person will be processed sequentially. Adding/deleting faces to/from different persons are processed in parallel.\n* The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model)",
+ "operationId": "LargePersonGroupPerson_AddFaceFromUrl",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largePersonGroupId"
+ },
+ {
+ "$ref": "#/parameters/personId"
+ },
+ {
+ "$ref": "#/parameters/faceUserData"
+ },
+ {
+ "$ref": "#/parameters/targetFace"
+ },
+ {
+ "$ref": "../../../Common/Parameters.json#/parameters/ImageUrl"
+ },
+ {
+ "$ref": "#/parameters/detectionModel"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns the new persistedFaceId.",
+ "schema": {
+ "$ref": "#/definitions/PersistedFace"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Add Person face example": {
+ "$ref": "./examples/AddLargePersonGroupPersonFaceFromUrl.json"
+ }
+ }
+ }
+ },
+ "/largefacelists/{largeFaceListId}": {
+ "put": {
+ "description": "Create an empty large face list with user-specified largeFaceListId, name, an optional userData and recognitionModel.\n
Large face list is a list of faces, up to 1,000,000 faces, and used by [Face - Find Similar](https://docs.microsoft.com/rest/api/faceapi/face/findsimilar).\n
After creation, user should use [LargeFaceList Face - Add](https://docs.microsoft.com/rest/api/faceapi/largefacelist/addfacefromurl) to import the faces and [LargeFaceList - Train](https://docs.microsoft.com/rest/api/faceapi/largefacelist/train) to make it ready for [Face - Find Similar](https://docs.microsoft.com/rest/api/faceapi/face/findsimilar). No image will be stored. Only the extracted face features are stored on server until [LargeFaceList - Delete](https://docs.microsoft.com/rest/api/faceapi/largefacelist/delete) is called.\n
Find Similar is used for scenario like finding celebrity-like faces, similar face filtering, or as a light way face identification. But if the actual use is to identify person, please use [PersonGroup](https://docs.microsoft.com/rest/api/faceapi/persongroup) / [LargePersonGroup](https://docs.microsoft.com/rest/api/faceapi/largepersongroup) and [Face - Identify](https://docs.microsoft.com/rest/api/faceapi/face/identify).\n
'recognitionModel' should be specified to associate with this large face list. The default value for 'recognitionModel' is 'recognition_01', if the latest model needed, please explicitly specify the model you need in this parameter. New faces that are added to an existing large face list will use the recognition model that's already associated with the collection. Existing face features in a large face list can't be updated to features extracted by another version of recognition model. Please refer to [Specify a recognition model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-recognition-model).\n\nLarge face list quota:\n* Free-tier subscription quota: 64 large face lists.\n* S0-tier subscription quota: 1,000,000 large face lists.",
+ "operationId": "LargeFaceList_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largeFaceListId"
+ },
+ {
+ "name": "body",
+ "description": "Request body for creating a large face list.",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/MetaDataContract"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create new large face list example": {
+ "$ref": "./examples/CreateNewLargeFaceList.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieve a large face list’s largeFaceListId, name, userData and recognitionModel.",
+ "operationId": "LargeFaceList_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largeFaceListId"
+ },
+ {
+ "$ref": "#/parameters/returnRecognitionModel"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns the large face list's information.",
+ "schema": {
+ "$ref": "#/definitions/LargeFaceList"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get large face list example": {
+ "$ref": "./examples/GetLargeFaceList.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Update information of a large face list.",
+ "operationId": "LargeFaceList_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largeFaceListId"
+ },
+ {
+ "name": "body",
+ "description": "Request body for updating a large face list.",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/NameAndUserDataContract"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update large face list example": {
+ "$ref": "./examples/UpdateLargeFaceList.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Delete a specified large face list.",
+ "operationId": "LargeFaceList_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largeFaceListId"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete large face list example": {
+ "$ref": "./examples/DeleteLargeFaceList.json"
+ }
+ }
+ }
+ },
+ "/largefacelists/{largeFaceListId}/training": {
+ "get": {
+ "description": "Retrieve the training status of a large face list (completed or ongoing).",
+ "operationId": "LargeFaceList_GetTrainingStatus",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largeFaceListId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns the large face list's training status.",
+ "schema": {
+ "$ref": "#/definitions/TrainingStatus"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Get large face list's training status example": {
+ "$ref": "./examples/GetLargeFaceListTrainingStatus.json"
+ }
+ }
+ }
+ },
+ "/largefacelists": {
+ "get": {
+ "description": "List large face lists’ information of largeFaceListId, name, userData and recognitionModel.
\nTo get face information inside largeFaceList use [LargeFaceList Face - Get](https://docs.microsoft.com/rest/api/faceapi/largefacelist/getface)
\n* Large face lists are stored in alphabetical order of largeFaceListId.\n* \"start\" parameter (string, optional) is a user-provided largeFaceListId value that returned entries have larger ids by string comparison. \"start\" set to empty to indicate return from the first item.\n* \"top\" parameter (int, optional) specifies the number of entries to return. A maximal of 1000 entries can be returned in one call. To fetch more, you can specify \"start\" with the last returned entry’s Id of the current call.\n
\nFor example, total 5 large person lists: \"list1\", ..., \"list5\".\n
\"start=&top=\" will return all 5 lists.\n
\"start=&top=2\" will return \"list1\", \"list2\".\n
\"start=list2&top=3\" will return \"list3\", \"list4\", \"list5\".\n",
+ "operationId": "LargeFaceList_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/returnRecognitionModel"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an array of largeFaceList.",
+ "schema": {
+ "$ref": "#/definitions/LargeFaceLists"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "List large face lists example": {
+ "$ref": "./examples/ListLargeFaceLists.json"
+ }
+ }
+ }
+ },
+ "/largefacelists/{largeFaceListId}/train": {
+ "post": {
+ "description": "Queue a large face list training task, the training task may not be started immediately.",
+ "operationId": "LargeFaceList_Train",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largeFaceListId"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "The training task was queued successfully."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Queue large face list training": {
+ "$ref": "./examples/QueueLargeFaceListTraining.json"
+ }
+ }
+ }
+ },
+ "/largefacelists/{largeFaceListId}/persistedfaces/{persistedFaceId}": {
+ "delete": {
+ "description": "Delete a face from a large face list by specified largeFaceListId and persistedFaceId.\n
Adding/deleting faces to/from a same large face list are processed sequentially and to/from different large face lists are in parallel.",
+ "operationId": "LargeFaceList_DeleteFace",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largeFaceListId"
+ },
+ {
+ "$ref": "#/parameters/persistedFaceId"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete face in large face list example": {
+ "$ref": "./examples/DeleteLargeFaceListFace.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Retrieve information about a persisted face (specified by persistedFaceId and its belonging largeFaceListId).",
+ "operationId": "LargeFaceList_GetFace",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largeFaceListId"
+ },
+ {
+ "$ref": "#/parameters/persistedFaceId"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns target persisted face's information (persistedFaceId and userData).",
+ "schema": {
+ "$ref": "#/definitions/PersistedFace"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get persisted face example": {
+ "$ref": "./examples/GetLargeFaceListPersistedFace.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Update a persisted face's userData field.",
+ "operationId": "LargeFaceList_UpdateFace",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largeFaceListId"
+ },
+ {
+ "$ref": "#/parameters/persistedFaceId"
+ },
+ {
+ "name": "body",
+ "description": "Request body for updating persisted face.",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateFaceRequest"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update face example": {
+ "$ref": "./examples/UpdateLargeFaceListFace.json"
+ }
+ }
+ }
+ },
+ "/largefacelists/{largeFaceListId}/persistedfaces": {
+ "post": {
+ "description": "Add a face to a specified large face list, up to 1,000,000 faces.\n
To deal with an image contains multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature will be stored on server until [LargeFaceList Face - Delete](https://docs.microsoft.com/rest/api/faceapi/largefacelist/deleteface) or [LargeFaceList - Delete](https://docs.microsoft.com/rest/api/faceapi/largefacelist/delete) is called.\n
Note persistedFaceId is different from faceId generated by [Face - Detect](https://docs.microsoft.com/rest/api/faceapi/face/detectwithurl).\n* Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n* JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n* \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from [Face - Detect](https://docs.microsoft.com/rest/api/faceapi/face/detectwithurl), there’s no guarantee to detect and add the face successfully.\n* Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n* Adding/deleting faces to/from a same face list are processed sequentially and to/from different face lists are in parallel.\n* The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model)\n\nQuota:\n* Free-tier subscription quota: 1,000 faces per large face list.\n* S0-tier subscription quota: 1,000,000 faces per large face list.",
+ "operationId": "LargeFaceList_AddFaceFromUrl",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largeFaceListId"
+ },
+ {
+ "$ref": "#/parameters/faceUserData"
+ },
+ {
+ "$ref": "#/parameters/targetFace"
+ },
+ {
+ "$ref": "../../../Common/Parameters.json#/parameters/ImageUrl"
+ },
+ {
+ "$ref": "#/parameters/detectionModel"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns a new persistedFaceId.",
+ "schema": {
+ "$ref": "#/definitions/PersistedFace"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create large face list face example": {
+ "$ref": "./examples/AddLargeFaceListFaceFromUrl.json"
+ }
+ }
+ },
+ "get": {
+ "description": "List all faces in a large face list, and retrieve face information (including userData and persistedFaceIds of registered faces of the face).",
+ "operationId": "LargeFaceList_ListFaces",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largeFaceListId"
+ },
+ {
+ "name": "start",
+ "description": "Starting face id to return (used to list a range of faces).",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "top",
+ "description": "Number of faces to return starting with the face id indicated by the 'start' parameter.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an array of face information that belong to the large face list.",
+ "schema": {
+ "$ref": "#/definitions/PersistedFaces"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List faces in large face list": {
+ "$ref": "./examples/ListLargeFaceListFaces.json"
+ }
+ }
+ }
+ },
+ "/snapshots": {
+ "post": {
+ "description": "Submit an operation to take a snapshot of face list, large face list, person group or large person group, with user-specified snapshot type, source object id, apply scope and an optional user data.
\nThe snapshot interfaces are for users to backup and restore their face data from one face subscription to another, inside same region or across regions. The workflow contains two phases, user first calls Snapshot - Take to create a copy of the source object and store it as a snapshot, then calls Snapshot - Apply to paste the snapshot to target subscription. The snapshots are stored in a centralized location (per Azure instance), so that they can be applied cross accounts and regions.
\nTaking snapshot is an asynchronous operation. An operation id can be obtained from the \"Operation-Location\" field in response header, to be used in OperationStatus - Get for tracking the progress of creating the snapshot. The snapshot id will be included in the \"resourceLocation\" field in OperationStatus - Get response when the operation status is \"succeeded\".
\nSnapshot taking time depends on the number of person and face entries in the source object. It could be in seconds, or up to several hours for 1,000,000 persons with multiple faces.
\nSnapshots will be automatically expired and cleaned in 48 hours after it is created by Snapshot - Take. User can delete the snapshot using Snapshot - Delete by themselves any time before expiration.
\nTaking snapshot for a certain object will not block any other operations against the object. All read-only operations (Get/List and Identify/FindSimilar/Verify) can be conducted as usual. For all writable operations, including Add/Update/Delete the source object or its persons/faces and Train, they are not blocked but not recommended because writable updates may not be reflected on the snapshot during its taking. After snapshot taking is completed, all readable and writable operations can work as normal. Snapshot will also include the training results of the source object, which means target subscription the snapshot applied to does not need re-train the target object before calling Identify/FindSimilar.
\n* Free-tier subscription quota: 100 take operations per month.\n* S0-tier subscription quota: 100 take operations per day.",
+ "operationId": "Snapshot_Take",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Request body for taking a snapshot.",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/TakeSnapshotRequest"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "The snapshot taking task was queued successfully.",
+ "headers": {
+ "Operation-Location": {
+ "description": "Operation location with an operation id used to track the progress of taking snapshot. The returned id is the operation id, rather than snapshot id. Snapshot id can be obtained only when the operation status becomes \"succeeded\" in OperationStatus - Get.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Take a snapshot example": {
+ "$ref": "./examples/TakeSnapshot.json"
+ }
+ }
+ },
+ "get": {
+ "description": "List all accessible snapshots with related information, including snapshots that were taken by the user, or snapshots to be applied to the user (subscription id was included in the applyScope in Snapshot - Take).",
+ "operationId": "Snapshot_List",
+ "parameters": [
+ {
+ "name": "type",
+ "description": "User specified object type as a search filter.",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SnapshotObjectType",
+ "modelAsString": false
+ },
+ "enum": [
+ "FaceList",
+ "LargeFaceList",
+ "LargePersonGroup",
+ "PersonGroup"
+ ]
+ },
+ {
+ "$ref": "#/parameters/applyScope"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an array of snapshots with snapshot information.",
+ "schema": {
+ "$ref": "#/definitions/Snapshots"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "List snapshots example": {
+ "$ref": "./examples/ListSnapshots.json"
+ }
+ }
+ }
+ },
+ "/snapshots/{snapshotId}": {
+ "get": {
+ "description": "Retrieve information about a snapshot. Snapshot is only accessible to the source subscription who took it, and target subscriptions included in the applyScope in Snapshot - Take.",
+ "operationId": "Snapshot_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/snapshotId"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns the snapshot's information.",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get snapshot example": {
+ "$ref": "./examples/GetSnapshot.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Update the information of a snapshot. Only the source subscription who took the snapshot can update the snapshot.",
+ "operationId": "Snapshot_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/snapshotId"
+ },
+ {
+ "name": "body",
+ "description": "Request body for updating a snapshot.",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateSnapshotRequest"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update snapshot example": {
+ "$ref": "./examples/UpdateSnapshot.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Delete an existing snapshot according to the snapshotId. All object data and information in the snapshot will also be deleted. Only the source subscription who took the snapshot can delete the snapshot. If the user does not delete a snapshot with this API, the snapshot will still be automatically deleted in 48 hours after creation.",
+ "operationId": "Snapshot_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/snapshotId"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete snapshot example": {
+ "$ref": "./examples/DeleteSnapshot.json"
+ }
+ }
+ }
+ },
+ "/snapshots/{snapshotId}/apply": {
+ "post": {
+ "description": "Submit an operation to apply a snapshot to current subscription. For each snapshot, only subscriptions included in the applyScope of Snapshot - Take can apply it.
\nThe snapshot interfaces are for users to backup and restore their face data from one face subscription to another, inside same region or across regions. The workflow contains two phases, user first calls Snapshot - Take to create a copy of the source object and store it as a snapshot, then calls Snapshot - Apply to paste the snapshot to target subscription. The snapshots are stored in a centralized location (per Azure instance), so that they can be applied cross accounts and regions.
\nApplying snapshot is an asynchronous operation. An operation id can be obtained from the \"Operation-Location\" field in response header, to be used in OperationStatus - Get for tracking the progress of applying the snapshot. The target object id will be included in the \"resourceLocation\" field in OperationStatus - Get response when the operation status is \"succeeded\".
\nSnapshot applying time depends on the number of person and face entries in the snapshot object. It could be in seconds, or up to 1 hour for 1,000,000 persons with multiple faces.
\nSnapshots will be automatically expired and cleaned in 48 hours after it is created by Snapshot - Take. So the target subscription is required to apply the snapshot in 48 hours since its creation.
\nApplying a snapshot will not block any other operations against the target object, however it is not recommended because the correctness cannot be guaranteed during snapshot applying. After snapshot applying is completed, all operations towards the target object can work as normal. Snapshot also includes the training results of the source object, which means target subscription the snapshot applied to does not need re-train the target object before calling Identify/FindSimilar.
\nOne snapshot can be applied multiple times in parallel, while currently only CreateNew apply mode is supported, which means the apply operation will fail if target subscription already contains an object of same type and using the same objectId. Users can specify the \"objectId\" in request body to avoid such conflicts.
\n* Free-tier subscription quota: 100 apply operations per month.\n* S0-tier subscription quota: 100 apply operations per day.",
+ "operationId": "Snapshot_Apply",
+ "parameters": [
+ {
+ "$ref": "#/parameters/snapshotId"
+ },
+ {
+ "name": "body",
+ "description": "Request body for applying a snapshot.",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/ApplySnapshotRequest"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "The snapshot applying task was queued successfully.",
+ "headers": {
+ "Operation-Location": {
+ "description": "Operation location with an operation id used to track the progress of applying the snapshot by OperationStatus - Get.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Apply snapshot example": {
+ "$ref": "./examples/ApplySnapshot.json"
+ }
+ }
+ }
+ },
+ "/operations/{operationId}": {
+ "get": {
+ "description": "Get status of a long running operation.",
+ "operationId": "Snapshot_GetOperationStatus",
+ "parameters": [
+ {
+ "$ref": "#/parameters/operationId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns the operation's status.",
+ "schema": {
+ "$ref": "#/definitions/AsyncStatus"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Get snapshot operation status example": {
+ "$ref": "./examples/GetSnapshotOperationStatus.json"
+ }
+ }
+ }
+ },
+ "/persons": {
+ "get": {
+ "tags": [
+ "PersonDirectory"
+ ],
+ "summary": "Retrieve list of person information in person directory.",
+ "operationId": "PersonDirectory_GetPersons",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "start",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "top",
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnrollmentResponse"
+ }
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get person directory persons example": {
+ "$ref": "./examples/GetPersonDirectoryPersons.json"
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "PersonDirectory"
+ ],
+ "summary": "Creates a new person in person directory.",
+ "operationId": "PersonDirectory_CreatePerson",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EnrolledPerson"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PersonCreationResponse"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create person in person directory example": {
+ "$ref": "./examples/CreateNewPersonDirectoryPerson.json"
+ }
+ }
+ }
+ },
+ "/persons/{personId}": {
+ "patch": {
+ "tags": [
+ "PersonDirectory"
+ ],
+ "summary": "Update name or userData of a person.",
+ "operationId": "PersonDirectory_UpdatePerson",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "personId",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EnrollmentRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create person in person directory example": {
+ "$ref": "./examples/UpdatePersonDirectoryPerson.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PersonDirectory"
+ ],
+ "summary": "Delete an existing person from person directory. \r\nThe persistedFaceId, userData, person name and face feature(s) in the person entry will all be deleted.",
+ "operationId": "PersonDirectory_DeletePerson",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "personId",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete person from person directory example": {
+ "$ref": "./examples/DeletePersonDirectoryPerson.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "PersonDirectory"
+ ],
+ "summary": "Retrieve a person's name and userData, and the persisted faceIds representing the registered person face feature(s).",
+ "operationId": "PersonDirectory_GetPerson",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "personId",
+ "description": "Person id.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/EnrolledPerson"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get person from person directory example": {
+ "$ref": "./examples/GetPersonDirectoryPerson.json"
+ }
+ }
+ }
+ },
+ "/persons/{personId}/recognitionModels/{recognitionModel}/persistedFaces": {
+ "post": {
+ "tags": [
+ "PersonDirectory"
+ ],
+ "summary": "Add a new face to person.",
+ "operationId": "PersonDirectory_AddPersonFace",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "personId",
+ "description": "Person id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "recognitionModel",
+ "description": "Recognition model string.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "detectionModel",
+ "description": "Detection model string.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "userData",
+ "description": "User data of person face.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "targetFace",
+ "description": "Target face.",
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/EnrollmentPrintResponse"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Add face to person in person directory example": {
+ "$ref": "./examples/AddPersonDirectoryPersonFaceFromUrl.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "PersonDirectory"
+ ],
+ "summary": "Retrieve person face information. The persisted person face is specified by its personId and persistedFaceId.",
+ "operationId": "PersonDirectory_GetPersonFaces",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "personId",
+ "description": "Target person to get persistedFaceIds from.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "recognitionModel",
+ "description": "The 'recognitionModel' associated with this persisted face.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PersonResponse"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get person face in person directory example": {
+ "$ref": "./examples/GetPersonDirectoryPersonFaces.json"
+ }
+ }
+ }
+ },
+ "/persons/{personId}/recognitionModels/{recognitionModel}/persistedFaces/{persistedFaceId}": {
+ "delete": {
+ "tags": [
+ "PersonDirectory"
+ ],
+ "summary": "Delete an existing person face from person directory. \r\nThe persistedFaceId, userData, and face feature in the person entry will all be deleted.",
+ "operationId": "PersonDirectory_DeletePersonFace",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "personId",
+ "description": "Person id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "recognitionModel",
+ "description": "Recognition model string.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "persistedFaceId",
+ "description": "Persisted face id to delete.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete face from person directory person example": {
+ "$ref": "./examples/DeletePersonDirectoryPersonFace.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "PersonDirectory"
+ ],
+ "summary": "Retrieve person face information. The persisted person face is specified by its personId and persistedFaceId.",
+ "operationId": "PersonDirectory_GetPersonFace",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "personId",
+ "description": "Target person to get face from.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "recognitionModel",
+ "description": "The 'recognitionModel' associated with this persisted face.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "persistedFaceId",
+ "description": "Target person face id to get.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PersistedFaceResponse"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get person directory person face example": {
+ "$ref": "./examples/GetPersonDirectoryPersonFace.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "PersonDirectory"
+ ],
+ "summary": "Update the data of a person face.",
+ "operationId": "PersonDirectory_UpdatePersonFace",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "personId",
+ "description": "Target person to update face from.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "recognitionModel",
+ "description": "The 'recognitionModel' associated with this persisted face.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "persistedFaceId",
+ "description": "PersistedFaceId created from Person Face Create",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Target person face id to update.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PersistedFaceWithType"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update face from person directory person example": {
+ "$ref": "./examples/UpdatePersonDirectoryPersonFace.json"
+ }
+ }
+ }
+ },
+ "/dynamicpersongroups/{dynamicPersonGroupId}": {
+ "put": {
+ "tags": [
+ "PersonDirectory"
+ ],
+ "summary": "Creates a new dynamic person group with specified dynamicPersonGroupId, name, and user-provided userData.\r\nA dynamic person group is a container that references persons.\r\nAfter creation, use \"DynamicPersonGroup - Update\" to add/remove persons into the search space.\r\nDynamicPersonGroup and UserData will be stored on server until DynamicPersonGroup Delete is called.",
+ "operationId": "PersonDirectory_CreateDynamicPersonGroup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "dynamicPersonGroupId",
+ "description": "User provided dynamic person group Id. Valid format should be a string composed by numbers, English letters in lower case, '-', '_', and no longer than 64 characters.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DynamicPersonGroupCreateRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create dynamic person group example": {
+ "$ref": "./examples/CreateNewDynamicPersonGroup.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "PersonDirectory"
+ ],
+ "summary": "Updates an existing dynamic person group with specified dynamicPersonGroupId, name, and user-provided userData.",
+ "operationId": "PersonDirectory_UpdateDynamicPersonGroup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "dynamicPersonGroupId",
+ "description": "User provided dynamic person group Id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DynamicPersonGroupUpdateRequest"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update dynamic person group example": {
+ "$ref": "./examples/UpdateDynamicPersonGroup.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "PersonDirectory"
+ ],
+ "summary": "Get metadata on a dynamic person group.",
+ "operationId": "PersonDirectory_GetDynamicPersonGroup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "dynamicPersonGroupId",
+ "description": "User provided dynamic person group id",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DynamicPersonGroupGetResponse"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get dynamic person group example": {
+ "$ref": "./examples/GetDynamicPersonGroup.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PersonDirectory"
+ ],
+ "summary": "Delete an existing dynamic person group. \r\nNote that Persons are not deleted with this operation. To delete person call Person Delete.",
+ "operationId": "PersonDirectory_DeleteDynamicPersonGroup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "dynamicPersonGroupId",
+ "description": "User provided dynamic person group Id.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete dynamic person group example": {
+ "$ref": "./examples/DeleteDynamicPersonGroup.json"
+ }
+ }
+ }
+ },
+ "/dynamicpersongroups/{dynamicPersonGroupId}/persons": {
+ "get": {
+ "tags": [
+ "PersonDirectory"
+ ],
+ "summary": "Retrieve list of persons referenced in a given DynamicPersonGroup person directory.",
+ "operationId": "PersonDirectory_ListDynamicPersonGroupPersons",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "dynamicPersonGroupId",
+ "description": "Dynamic person group Id to list persons from",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "start",
+ "description": "List persons from the least personId greater than the \"start\". It contains no more than 64 characters. Default is empty.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "top",
+ "description": "The number of persons to list, ranging in [1, 1000]. Default is 1000.",
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DynamicPersonGroupListPersonsResponse"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List dynamic person group persons example": {
+ "$ref": "./examples/ListDynamicPersonGroupPersons.json"
+ }
+ }
+ }
+ },
+ "/dynamicpersongroups": {
+ "get": {
+ "tags": [
+ "PersonDirectory"
+ ],
+ "summary": "Retrieve list of dynamic person groups in person directory.",
+ "operationId": "PersonDirectory_ListDynamicPersonGroups",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "start",
+ "description": "List dynamicPersonGroupId from the least dynamicPersonGroupId greater than the \"start\". It contains no more than 64 characters. Default is empty.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "top",
+ "description": "The number of dynamicPersonGroups to list, ranging in [1, 1000]. Default is 1000.",
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DynamicPersonGroupGetResponse"
+ }
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List dynamic person groups example": {
+ "$ref": "./examples/ListDynamicPersonGroups.json"
+ }
+ }
+ }
+ },
+ "/persons/{personId}/dynamicPersonGroupReferences": {
+ "get": {
+ "tags": [
+ "PersonDirectory"
+ ],
+ "summary": "List the dynamic person groups that a person has been referenced in.",
+ "operationId": "PersonDirectory_ListDynamicPersonGroupPersonReferences",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "personId",
+ "description": "Valid PersonId created from Person Create.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "start",
+ "description": "List dynamic person group id from the least dynamicPersonGroupId greater than the \"start\". It contains no more than 64 characters. Default is empty.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "top",
+ "description": "The number of dynamicPersonGroupId to list, ranging in [1, 1000]. Default is 1000.",
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PersonDynamicPersonGroupReferenceResponse"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List dynamic person group references example": {
+ "$ref": "./examples/ListDynamicPersonGroupReferences.json"
+ }
+ }
+ }
+ }
+ },
+ "x-ms-paths": {
+ "/verify?overload=person": {
+ "post": {
+ "description": "Verify whether two faces belong to a same person. Compares a face Id with a Person Id",
+ "operationId": "Face_VerifyFaceToPerson",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Request body for face to person verification.",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/VerifyFaceToPersonRequest"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns the verification result.",
+ "schema": {
+ "$ref": "#/definitions/VerifyResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Verify face to person example": {
+ "$ref": "./examples/VerifyFaceToPerson.json"
+ }
+ }
+ }
+ },
+ "/detect?overload=stream": {
+ "post": {
+ "description": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.
\n* No image will be stored. Only the extracted face feature will be stored on server. The faceId is an identifier of the face feature and will be used in [Face - Identify](https://docs.microsoft.com/rest/api/faceapi/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/faceapi/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/faceapi/face/findsimilar). The stored face feature(s) will expire and be deleted at the time specified by faceIdTimeToLive after the original detection call.\n* Optional parameters include faceId, landmarks, and attributes. Attributes include age, gender, headPose, smile, facialHair, glasses, emotion, hair, makeup, occlusion, accessories, blur, exposure, noise, and mask. Some of the results returned for specific attributes may not be highly accurate.\n* JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n* Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small.\n* For optimal results when querying [Face - Identify](https://docs.microsoft.com/rest/api/faceapi/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/faceapi/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/faceapi/face/findsimilar) ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\n* The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model)\n* Different 'recognitionModel' values are provided. If follow-up operations like Verify, Identify, Find Similar are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to [Specify a recognition model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-recognition-model).",
+ "operationId": "Face_DetectWithStream",
+ "parameters": [
+ {
+ "$ref": "#/parameters/returnFaceId"
+ },
+ {
+ "$ref": "#/parameters/returnFaceLandmarks"
+ },
+ {
+ "$ref": "#/parameters/returnFaceAttributes"
+ },
+ {
+ "$ref": "../../../Common/Parameters.json#/parameters/ImageStream"
+ },
+ {
+ "$ref": "#/parameters/recognitionModel"
+ },
+ {
+ "$ref": "#/parameters/returnRecognitionModel"
+ },
+ {
+ "$ref": "#/parameters/detectionModel"
+ },
+ {
+ "$ref": "#/parameters/faceIdTimeToLive"
+ }
+ ],
+ "consumes": [
+ "application/octet-stream"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an array of face entries ranked by face rectangle size in descending order. An empty response indicates no faces detected.",
+ "schema": {
+ "$ref": "#/definitions/DetectedFaces"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Detect with stream example": {
+ "$ref": "./examples/DetectWithStream.json"
+ }
+ }
+ }
+ },
+ "/persongroups/{personGroupId}/persons/{personId}/persistedfaces?overload=stream": {
+ "post": {
+ "description": "Add a face to a person into a person group for face identification or verification. To deal with an image contains multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature will be stored on server until [PersonGroup PersonFace - Delete](https://docs.microsoft.com/rest/api/faceapi/persongroupperson/deleteface), [PersonGroup Person - Delete](https://docs.microsoft.com/rest/api/faceapi/persongroupperson/delete) or [PersonGroup - Delete](https://docs.microsoft.com/rest/api/faceapi/persongroup/delete) is called.\n
Note persistedFaceId is different from faceId generated by [Face - Detect](https://docs.microsoft.com/rest/api/faceapi/face/detectwithurl).\n* Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n* Each person entry can hold up to 248 faces.\n* JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n* \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from [Face - Detect](https://docs.microsoft.com/rest/api/faceapi/face/detectwithurl), there’s no guarantee to detect and add the face successfully.\n* Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n* Adding/deleting faces to/from a same person will be processed sequentially. Adding/deleting faces to/from different persons are processed in parallel.\n* The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model).",
+ "operationId": "PersonGroupPerson_AddFaceFromStream",
+ "parameters": [
+ {
+ "$ref": "#/parameters/personGroupId"
+ },
+ {
+ "$ref": "#/parameters/personId"
+ },
+ {
+ "$ref": "#/parameters/faceUserData"
+ },
+ {
+ "$ref": "#/parameters/targetFace"
+ },
+ {
+ "$ref": "../../../Common/Parameters.json#/parameters/ImageStream"
+ },
+ {
+ "$ref": "#/parameters/detectionModel"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/octet-stream"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns the new persistedFaceId.",
+ "schema": {
+ "$ref": "#/definitions/PersistedFace"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Add face to person with stream example": {
+ "$ref": "./examples/AddPersonGroupPersonFaceFromStream.json"
+ }
+ }
+ }
+ },
+ "/facelists/{faceListId}/persistedfaces?overload=stream": {
+ "post": {
+ "description": "Add a face to a specified face list, up to 1,000 faces.\n
To deal with an image contains multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature will be stored on server until [FaceList - Delete Face](https://docs.microsoft.com/rest/api/faceapi/facelist/deleteface) or [FaceList - Delete](https://docs.microsoft.com/rest/api/faceapi/facelist/delete) is called.\n
Note persistedFaceId is different from faceId generated by [Face - Detect](https://docs.microsoft.com/rest/api/faceapi/face/detectwithurl).\n* Higher face image quality means better detection and recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n* JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n* \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from [Face - Detect](https://docs.microsoft.com/rest/api/faceapi/face/detectwithurl), there’s no guarantee to detect and add the face successfully.\n* Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n* Adding/deleting faces to/from a same face list are processed sequentially and to/from different face lists are in parallel.\n* The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model).",
+ "operationId": "FaceList_AddFaceFromStream",
+ "parameters": [
+ {
+ "$ref": "#/parameters/faceListId"
+ },
+ {
+ "$ref": "#/parameters/faceUserData"
+ },
+ {
+ "$ref": "#/parameters/targetFace"
+ },
+ {
+ "$ref": "../../../Common/Parameters.json#/parameters/ImageStream"
+ },
+ {
+ "$ref": "#/parameters/detectionModel"
+ }
+ ],
+ "consumes": [
+ "application/octet-stream"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns a new persistedFaceId.",
+ "schema": {
+ "$ref": "#/definitions/PersistedFace"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Add face to face list from stream example": {
+ "$ref": "./examples/AddFaceListFaceFromStream.json"
+ }
+ }
+ }
+ },
+ "/largepersongroups/{largePersonGroupId}/persons/{personId}/persistedfaces?overload=stream": {
+ "post": {
+ "description": "Add a face to a person into a large person group for face identification or verification. To deal with an image contains multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature will be stored on server until [LargePersonGroup PersonFace - Delete](https://docs.microsoft.com/rest/api/faceapi/largepersongroupperson/deleteface), [LargePersonGroup Person - Delete](https://docs.microsoft.com/rest/api/faceapi/largepersongroupperson/delete) or [LargePersonGroup - Delete](https://docs.microsoft.com/rest/api/faceapi/largepersongroup/delete) is called.\n
Note persistedFaceId is different from faceId generated by [Face - Detect](https://docs.microsoft.com/rest/api/faceapi/face/detectwithurl).\n* Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n* Each person entry can hold up to 248 faces.\n* JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n* \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from [Face - Detect](https://docs.microsoft.com/rest/api/faceapi/face/detectwithurl), there’s no guarantee to detect and add the face successfully.\n* Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n* Adding/deleting faces to/from a same person will be processed sequentially. Adding/deleting faces to/from different persons are processed in parallel.\n* The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model).",
+ "operationId": "LargePersonGroupPerson_AddFaceFromStream",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largePersonGroupId"
+ },
+ {
+ "$ref": "#/parameters/personId"
+ },
+ {
+ "$ref": "#/parameters/faceUserData"
+ },
+ {
+ "$ref": "#/parameters/targetFace"
+ },
+ {
+ "$ref": "../../../Common/Parameters.json#/parameters/ImageStream"
+ },
+ {
+ "$ref": "#/parameters/detectionModel"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/octet-stream"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns the new persistedFaceId.",
+ "schema": {
+ "$ref": "#/definitions/PersistedFace"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Add face to person with stream example": {
+ "$ref": "./examples/AddLargePersonGroupPersonFaceFromStream.json"
+ }
+ }
+ }
+ },
+ "/largefacelists/{largeFaceListId}/persistedfaces?overload=stream": {
+ "post": {
+ "description": "Add a face to a specified large face list, up to 1,000,000 faces.\n
To deal with an image contains multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature will be stored on server until [LargeFaceList Face - Delete](https://docs.microsoft.com/rest/api/faceapi/largefacelist/deleteface) or [LargeFaceList - Delete](https://docs.microsoft.com/rest/api/faceapi/largefacelist/delete) is called.\n
Note persistedFaceId is different from faceId generated by [Face - Detect](https://docs.microsoft.com/rest/api/faceapi/face/detectwithurl).\n* Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.\n* JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n* \"targetFace\" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided \"targetFace\" rectangle is not returned from [Face - Detect](https://docs.microsoft.com/rest/api/faceapi/face/detectwithurl), there’s no guarantee to detect and add the face successfully.\n* Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.\n* Adding/deleting faces to/from a same face list are processed sequentially and to/from different face lists are in parallel.\n* The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model).\n\nQuota:\n* Free-tier subscription quota: 1,000 faces per large face list.\n* S0-tier subscription quota: 1,000,000 faces per large face list.",
+ "operationId": "LargeFaceList_AddFaceFromStream",
+ "parameters": [
+ {
+ "$ref": "#/parameters/largeFaceListId"
+ },
+ {
+ "$ref": "#/parameters/faceUserData"
+ },
+ {
+ "$ref": "#/parameters/targetFace"
+ },
+ {
+ "$ref": "../../../Common/Parameters.json#/parameters/ImageStream"
+ },
+ {
+ "$ref": "#/parameters/detectionModel"
+ }
+ ],
+ "consumes": [
+ "application/octet-stream"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns a new persistedFaceId.",
+ "schema": {
+ "$ref": "#/definitions/PersistedFace"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Add face to large face list from stream example": {
+ "$ref": "./examples/AddLargeFaceListFaceFromStream.json"
+ }
+ }
+ }
+ },
+ "/persons/{personId}/recognitionModels/{recognitionModel}/persistedFaces?overload=stream": {
+ "post": {
+ "tags": [
+ "PersonDirectory"
+ ],
+ "summary": "Add a new face to person.",
+ "operationId": "PersonDirectory_AddPersonFaceFromStream",
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/octet-stream"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "personId",
+ "description": "Person id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "recognitionModel",
+ "description": "Recognition model string.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "detectionModel",
+ "description": "Detection model string.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "userData",
+ "description": "User data of person face.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "targetFace",
+ "description": "Target face.",
+ "type": "string"
+ },
+ {
+ "$ref": "../../../Common/Parameters.json#/parameters/ImageStream"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/EnrollmentPrintResponse"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Add face to person directory person with stream example": {
+ "$ref": "./examples/AddPersonDirectoryPersonFaceFromStream.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "APIError": {
+ "type": "object",
+ "description": "Error information returned by the API",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "Error": {
+ "type": "object",
+ "description": "Error body.",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ }
+ }
+ },
+ "DetectedFaces": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DetectedFace"
+ }
+ },
+ "DetectedFace": {
+ "type": "object",
+ "required": [
+ "faceRectangle"
+ ],
+ "description": "Detected Face object.",
+ "properties": {
+ "faceId": {
+ "type": "string",
+ "format": "uuid"
+ },
+ "recognitionModel": {
+ "$ref": "#/definitions/RecognitionModel"
+ },
+ "faceRectangle": {
+ "$ref": "#/definitions/FaceRectangle"
+ },
+ "faceLandmarks": {
+ "$ref": "#/definitions/FaceLandmarks"
+ },
+ "faceAttributes": {
+ "$ref": "#/definitions/FaceAttributes"
+ }
+ }
+ },
+ "FaceRectangle": {
+ "type": "object",
+ "required": [
+ "width",
+ "height",
+ "left",
+ "top"
+ ],
+ "description": "A rectangle within which a face can be found",
+ "properties": {
+ "width": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The width of the rectangle, in pixels."
+ },
+ "height": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The height of the rectangle, in pixels."
+ },
+ "left": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The distance from the left edge if the image to the left edge of the rectangle, in pixels."
+ },
+ "top": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The distance from the top edge if the image to the top edge of the rectangle, in pixels."
+ }
+ }
+ },
+ "Coordinate": {
+ "type": "object",
+ "required": [
+ "x",
+ "y"
+ ],
+ "description": "Coordinates within an image",
+ "properties": {
+ "x": {
+ "type": "number",
+ "description": "The horizontal component, in pixels."
+ },
+ "y": {
+ "type": "number",
+ "description": "The vertical component, in pixels."
+ }
+ }
+ },
+ "FaceLandmarks": {
+ "type": "object",
+ "description": "A collection of 27-point face landmarks pointing to the important positions of face components.",
+ "properties": {
+ "pupilLeft": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "pupilRight": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "noseTip": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "mouthLeft": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "mouthRight": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "eyebrowLeftOuter": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "eyebrowLeftInner": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "eyeLeftOuter": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "eyeLeftTop": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "eyeLeftBottom": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "eyeLeftInner": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "eyebrowRightInner": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "eyebrowRightOuter": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "eyeRightInner": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "eyeRightTop": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "eyeRightBottom": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "eyeRightOuter": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "noseRootLeft": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "noseRootRight": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "noseLeftAlarTop": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "noseRightAlarTop": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "noseLeftAlarOutTip": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "noseRightAlarOutTip": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "upperLipTop": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "upperLipBottom": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "underLipTop": {
+ "$ref": "#/definitions/Coordinate"
+ },
+ "underLipBottom": {
+ "$ref": "#/definitions/Coordinate"
+ }
+ }
+ },
+ "FaceAttributes": {
+ "type": "object",
+ "description": "Face Attributes",
+ "properties": {
+ "age": {
+ "type": "number",
+ "description": "Age in years"
+ },
+ "gender": {
+ "type": "string",
+ "description": "Possible gender of the face.",
+ "x-ms-enum": {
+ "name": "Gender",
+ "modelAsString": false
+ },
+ "enum": [
+ "male",
+ "female"
+ ]
+ },
+ "smile": {
+ "description": "Smile intensity, a number between [0,1] ",
+ "$ref": "#/definitions/Level"
+ },
+ "facialHair": {
+ "description": "Properties describing facial hair attributes.",
+ "$ref": "#/definitions/FacialHair"
+ },
+ "glasses": {
+ "type": "string",
+ "description": "Glasses type if any of the face.",
+ "x-ms-enum": {
+ "name": "GlassesType",
+ "modelAsString": false
+ },
+ "enum": [
+ "noGlasses",
+ "readingGlasses",
+ "sunglasses",
+ "swimmingGoggles"
+ ]
+ },
+ "headPose": {
+ "description": "Properties indicating head pose of the face.",
+ "$ref": "#/definitions/HeadPose"
+ },
+ "emotion": {
+ "description": "Properties describing facial emotion in form of confidence ranging from 0 to 1.",
+ "$ref": "#/definitions/Emotion"
+ },
+ "hair": {
+ "description": "Properties describing hair attributes.",
+ "$ref": "#/definitions/Hair"
+ },
+ "makeup": {
+ "description": "Properties describing the presence of makeup on a given face.",
+ "$ref": "#/definitions/Makeup"
+ },
+ "occlusion": {
+ "description": "Properties describing occlusions on a given face.",
+ "$ref": "#/definitions/Occlusion"
+ },
+ "accessories": {
+ "description": "Properties describing any accessories on a given face.",
+ "$ref": "#/definitions/Accessories"
+ },
+ "blur": {
+ "description": "Properties describing any presence of blur within the image.",
+ "$ref": "#/definitions/Blur"
+ },
+ "exposure": {
+ "description": "Properties describing exposure level of the image.",
+ "$ref": "#/definitions/Exposure"
+ },
+ "noise": {
+ "description": "Properties describing noise level of the image.",
+ "$ref": "#/definitions/Noise"
+ },
+ "mask": {
+ "description": "Properties describing the presence of a mask on a given face.",
+ "$ref": "#/definitions/Mask"
+ }
+ }
+ },
+ "FacialHair": {
+ "type": "object",
+ "description": "Properties describing facial hair attributes.",
+ "properties": {
+ "moustache": {
+ "x-nullable": false,
+ "$ref": "#/definitions/Confidence"
+ },
+ "beard": {
+ "x-nullable": false,
+ "$ref": "#/definitions/Confidence"
+ },
+ "sideburns": {
+ "x-nullable": false,
+ "$ref": "#/definitions/Confidence"
+ }
+ }
+ },
+ "HeadPose": {
+ "type": "object",
+ "description": "Properties indicating head pose of the face.",
+ "properties": {
+ "roll": {
+ "type": "number",
+ "x-nullable": false
+ },
+ "yaw": {
+ "type": "number",
+ "x-nullable": false
+ },
+ "pitch": {
+ "type": "number",
+ "x-nullable": false
+ }
+ }
+ },
+ "Emotion": {
+ "type": "object",
+ "description": "Properties describing facial emotion in form of confidence ranging from 0 to 1.",
+ "properties": {
+ "anger": {
+ "x-nullable": false,
+ "$ref": "#/definitions/Confidence"
+ },
+ "contempt": {
+ "x-nullable": false,
+ "$ref": "#/definitions/Confidence"
+ },
+ "disgust": {
+ "x-nullable": false,
+ "$ref": "#/definitions/Confidence"
+ },
+ "fear": {
+ "x-nullable": false,
+ "$ref": "#/definitions/Confidence"
+ },
+ "happiness": {
+ "x-nullable": false,
+ "$ref": "#/definitions/Confidence"
+ },
+ "neutral": {
+ "x-nullable": false,
+ "$ref": "#/definitions/Confidence"
+ },
+ "sadness": {
+ "x-nullable": false,
+ "$ref": "#/definitions/Confidence"
+ },
+ "surprise": {
+ "x-nullable": false,
+ "$ref": "#/definitions/Confidence"
+ }
+ }
+ },
+ "Hair": {
+ "type": "object",
+ "description": "Properties describing hair attributes.",
+ "properties": {
+ "bald": {
+ "description": "A number describing confidence level of whether the person is bald.",
+ "x-nullable": false,
+ "$ref": "#/definitions/Confidence"
+ },
+ "invisible": {
+ "type": "boolean",
+ "description": "A boolean value describing whether the hair is visible in the image.",
+ "x-nullable": false
+ },
+ "hairColor": {
+ "description": "An array of candidate colors and confidence level in the presence of each.",
+ "$ref": "#/definitions/HairColors"
+ }
+ }
+ },
+ "HairColors": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HairColor"
+ }
+ },
+ "HairColor": {
+ "type": "object",
+ "description": "Hair color and associated confidence",
+ "properties": {
+ "color": {
+ "type": "string",
+ "description": "Name of the hair color.",
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "HairColorType",
+ "modelAsString": false
+ },
+ "enum": [
+ "unknown",
+ "white",
+ "gray",
+ "blond",
+ "brown",
+ "red",
+ "black",
+ "other"
+ ]
+ },
+ "confidence": {
+ "x-nullable": false,
+ "description": "Confidence level of the color",
+ "$ref": "#/definitions/Confidence"
+ }
+ }
+ },
+ "Makeup": {
+ "type": "object",
+ "description": "Properties describing the presence of makeup on a given face.",
+ "properties": {
+ "eyeMakeup": {
+ "type": "boolean",
+ "description": "A boolean value describing whether eye makeup is present on a face.",
+ "x-nullable": false
+ },
+ "lipMakeup": {
+ "type": "boolean",
+ "description": "A boolean value describing whether lip makeup is present on a face.",
+ "x-nullable": false
+ }
+ }
+ },
+ "Occlusion": {
+ "type": "object",
+ "description": "Properties describing occlusions on a given face.",
+ "properties": {
+ "foreheadOccluded": {
+ "type": "boolean",
+ "description": "A boolean value indicating whether forehead is occluded.",
+ "x-nullable": false
+ },
+ "eyeOccluded": {
+ "type": "boolean",
+ "description": "A boolean value indicating whether eyes are occluded.",
+ "x-nullable": false
+ },
+ "mouthOccluded": {
+ "type": "boolean",
+ "description": "A boolean value indicating whether the mouth is occluded.",
+ "x-nullable": false
+ }
+ }
+ },
+ "Accessories": {
+ "type": "array",
+ "description": "Properties describing any accessories on a given face.",
+ "items": {
+ "$ref": "#/definitions/Accessory"
+ }
+ },
+ "Accessory": {
+ "type": "object",
+ "description": "Accessory item and corresponding confidence level.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Type of an accessory",
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "AccessoryType",
+ "modelAsString": false
+ },
+ "enum": [
+ "headWear",
+ "glasses",
+ "mask"
+ ]
+ },
+ "confidence": {
+ "x-nullable": false,
+ "description": "Confidence level of an accessory",
+ "$ref": "#/definitions/Confidence"
+ }
+ }
+ },
+ "Blur": {
+ "type": "object",
+ "description": "Properties describing any presence of blur within the image.",
+ "properties": {
+ "blurLevel": {
+ "type": "string",
+ "description": "An enum value indicating level of blurriness.",
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "BlurLevel",
+ "modelAsString": false
+ },
+ "enum": [
+ "Low",
+ "Medium",
+ "High"
+ ]
+ },
+ "value": {
+ "description": "A number indicating level of blurriness ranging from 0 to 1.",
+ "x-nullable": false,
+ "$ref": "#/definitions/Level"
+ }
+ }
+ },
+ "Exposure": {
+ "type": "object",
+ "description": "Properties describing exposure level of the image.",
+ "properties": {
+ "exposureLevel": {
+ "type": "string",
+ "description": "An enum value indicating level of exposure.",
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "ExposureLevel",
+ "modelAsString": false
+ },
+ "enum": [
+ "UnderExposure",
+ "GoodExposure",
+ "OverExposure"
+ ]
+ },
+ "value": {
+ "description": "A number indicating level of exposure level ranging from 0 to 1. [0, 0.25) is under exposure. [0.25, 0.75) is good exposure. [0.75, 1] is over exposure.",
+ "x-nullable": false,
+ "$ref": "#/definitions/Level"
+ }
+ }
+ },
+ "Noise": {
+ "type": "object",
+ "description": "Properties describing noise level of the image.",
+ "properties": {
+ "noiseLevel": {
+ "type": "string",
+ "description": "An enum value indicating level of noise.",
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "NoiseLevel",
+ "modelAsString": false
+ },
+ "enum": [
+ "Low",
+ "Medium",
+ "High"
+ ]
+ },
+ "value": {
+ "description": "A number indicating level of noise level ranging from 0 to 1. [0, 0.25) is under exposure. [0.25, 0.75) is good exposure. [0.75, 1] is over exposure. [0, 0.3) is low noise level. [0.3, 0.7) is medium noise level. [0.7, 1] is high noise level.",
+ "x-nullable": false,
+ "$ref": "#/definitions/Level"
+ }
+ }
+ },
+ "Mask": {
+ "type": "object",
+ "description": "Properties describing the presence of a mask on a given face.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Mask type if any of the face",
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "MaskType",
+ "modelAsString": false
+ },
+ "enum": [
+ "noMask",
+ "faceMask",
+ "otherMaskOrOcclusion",
+ "uncertain"
+ ]
+ },
+ "noseAndMouthCovered": {
+ "type": "boolean",
+ "description": "A boolean value indicating whether nose and mouth are covered.",
+ "x-nullable": false
+ }
+ }
+ },
+ "FindSimilarRequest": {
+ "type": "object",
+ "required": [
+ "faceId"
+ ],
+ "description": "Request body for find similar operation.",
+ "properties": {
+ "faceId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "FaceId of the query face. User needs to call Face - Detect first to get a valid faceId. Note that this faceId is not persisted and will expire at the time specified by faceIdTimeToLive after the detection call"
+ },
+ "faceListId": {
+ "type": "string",
+ "description": "An existing user-specified unique candidate face list, created in Face List - Create a Face List. Face list contains a set of persistedFaceIds which are persisted and will never expire. Parameter faceListId, largeFaceListId and faceIds should not be provided at the same time.",
+ "maxLength": 64,
+ "pattern": "^[a-z0-9-_]+$"
+ },
+ "largeFaceListId": {
+ "type": "string",
+ "description": "An existing user-specified unique candidate large face list, created in LargeFaceList - Create. Large face list contains a set of persistedFaceIds which are persisted and will never expire. Parameter faceListId, largeFaceListId and faceIds should not be provided at the same time.",
+ "maxLength": 64,
+ "pattern": "^[a-z0-9-_]+$"
+ },
+ "faceIds": {
+ "type": "array",
+ "description": "An array of candidate faceIds. All of them are created by Face - Detect and the faceIds will expire at the time specified by faceIdTimeToLive after the detection call. The number of faceIds is limited to 1000. Parameter faceListId, largeFaceListId and faceIds should not be provided at the same time.",
+ "maxItems": 1000,
+ "items": {
+ "type": "string",
+ "format": "uuid"
+ }
+ },
+ "maxNumOfCandidatesReturned": {
+ "type": "integer",
+ "description": "The number of top similar faces returned. The valid range is [1, 1000].",
+ "default": 20,
+ "minimum": 1,
+ "maximum": 1000
+ },
+ "mode": {
+ "type": "string",
+ "description": "Similar face searching mode. It can be \"matchPerson\" or \"matchFace\".",
+ "default": "matchPerson",
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "FindSimilarMatchMode",
+ "modelAsString": false
+ },
+ "enum": [
+ "matchPerson",
+ "matchFace"
+ ]
+ }
+ }
+ },
+ "SimilarFaces": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SimilarFace"
+ }
+ },
+ "SimilarFace": {
+ "type": "object",
+ "required": [
+ "confidence"
+ ],
+ "description": "Response body for find similar face operation.",
+ "properties": {
+ "faceId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "FaceId of candidate face when find by faceIds. faceId is created by Face - Detect and will expire at the time specified by faceIdTimeToLive after the detection call"
+ },
+ "persistedFaceId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "PersistedFaceId of candidate face when find by faceListId. persistedFaceId in face list is persisted and will not expire. As showed in below response"
+ },
+ "confidence": {
+ "description": "Similarity confidence of the candidate face. The higher confidence, the more similar. Range between [0,1].",
+ "$ref": "#/definitions/Confidence"
+ }
+ }
+ },
+ "GroupRequest": {
+ "type": "object",
+ "required": [
+ "faceIds"
+ ],
+ "description": "Request body for group request.",
+ "properties": {
+ "faceIds": {
+ "type": "array",
+ "description": "Array of candidate faceId created by Face - Detect. The maximum is 1000 faces",
+ "maxItems": 1000,
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ }
+ }
+ },
+ "GroupResult": {
+ "type": "object",
+ "required": [
+ "groups"
+ ],
+ "description": "An array of face groups based on face similarity.",
+ "properties": {
+ "groups": {
+ "type": "array",
+ "description": "A partition of the original faces based on face similarity. Groups are ranked by number of faces",
+ "items": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ }
+ },
+ "messyGroup": {
+ "type": "array",
+ "description": "Face ids array of faces that cannot find any similar faces from original faces.",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ }
+ }
+ },
+ "IdentifyRequest": {
+ "type": "object",
+ "required": [
+ "faceIds"
+ ],
+ "description": "Request body for identify face operation.",
+ "properties": {
+ "faceIds": {
+ "type": "array",
+ "description": "Array of query faces faceIds, created by the Face - Detect. Each of the faces are identified independently. The valid number of faceIds is between [1, 10].",
+ "maxItems": 10,
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ },
+ "personGroupId": {
+ "description": "PersonGroupId of the target person group, created by PersonGroup - Create. Parameter personGroupId, largePersonGroupId, dynamicPersonGroupId, or personIds should not be provided at the same time.",
+ "type": "string",
+ "maxLength": 64,
+ "pattern": "^[a-z0-9-_]+$"
+ },
+ "largePersonGroupId": {
+ "description": "LargePersonGroupId of the target large person group, created by LargePersonGroup - Create. Parameter personGroupId, largePersonGroupId, dynamicPersonGroupId, or personIds should not be provided at the same time.",
+ "type": "string",
+ "maxLength": 64,
+ "pattern": "^[a-z0-9-_]+$"
+ },
+ "dynamicPersonGroupId": {
+ "description": "DynamicPersonGroupId of the target PersonDirectory dynamic person group to match against. Parameter personGroupId, largePersonGroupId, dynamicPersonGroupId, or personIds should not be provided at the same time.",
+ "type": "string",
+ "maxLength": 64,
+ "pattern": "^[a-z0-9-_]+$"
+ },
+ "personIds": {
+ "description": "Array of personIds created in PersonDirectory - PersonCreate. The valid number of personIds is between [1,30]. Providing a single '*' in the array identifies against all persons inside the PersonDirectory. Parameter personGroupId, largePersonGroupId, dynamicPersonGroupId, or personIds should not be provided at the same time.",
+ "type": "array",
+ "maxItems": 30,
+ "items": {
+ "type": "string",
+ "x-nullable": false
+ }
+ },
+ "maxNumOfCandidatesReturned": {
+ "type": "integer",
+ "description": "The range of maxNumOfCandidatesReturned is between 1 and 5 (default is 1).",
+ "default": 1,
+ "minimum": 1,
+ "maximum": 5
+ },
+ "confidenceThreshold": {
+ "description": "Confidence threshold of identification, used to judge whether one face belong to one person. The range of confidenceThreshold is [0, 1] (default specified by algorithm).",
+ "$ref": "#/definitions/Confidence"
+ }
+ }
+ },
+ "IdentifyResults": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IdentifyResult"
+ }
+ },
+ "IdentifyResult": {
+ "type": "object",
+ "required": [
+ "faceId",
+ "candidates"
+ ],
+ "description": "Response body for identify face operation.",
+ "properties": {
+ "faceId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "FaceId of the query face"
+ },
+ "candidates": {
+ "type": "array",
+ "description": "Identified person candidates for that face (ranked by confidence). Array size should be no larger than input maxNumOfCandidatesReturned. If no person is identified, will return an empty array.",
+ "items": {
+ "$ref": "#/definitions/IdentifyCandidate"
+ }
+ }
+ }
+ },
+ "IdentifyCandidate": {
+ "type": "object",
+ "required": [
+ "personId",
+ "confidence"
+ ],
+ "description": "All possible faces that may qualify.",
+ "properties": {
+ "personId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Id of candidate"
+ },
+ "confidence": {
+ "description": "Confidence threshold of identification, used to judge whether one face belong to one person. The range of confidenceThreshold is [0, 1] (default specified by algorithm).",
+ "$ref": "#/definitions/Confidence"
+ }
+ }
+ },
+ "VerifyFaceToPersonRequest": {
+ "type": "object",
+ "required": [
+ "faceId",
+ "personId"
+ ],
+ "description": "Request body for face to person verification.",
+ "properties": {
+ "faceId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "FaceId of the face, comes from Face - Detect"
+ },
+ "personGroupId": {
+ "description": "Using existing personGroupId and personId for fast loading a specified person. personGroupId is created in PersonGroup - Create. Parameter personGroupId and largePersonGroupId should not be provided at the same time.",
+ "type": "string",
+ "maxLength": 64,
+ "pattern": "^[a-z0-9-_]+$"
+ },
+ "largePersonGroupId": {
+ "description": "Using existing largePersonGroupId and personId for fast loading a specified person. largePersonGroupId is created in LargePersonGroup - Create. Parameter personGroupId and largePersonGroupId should not be provided at the same time.",
+ "type": "string",
+ "maxLength": 64,
+ "pattern": "^[a-z0-9-_]+$"
+ },
+ "personId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Specify a certain person in a person group, a large person group, or person directory (if personGroupId and largePersonGroupId are omitted). personId is created in PersonGroup Person - Create or LargePersonGroup Person - Create or PersonDirectory - Create."
+ }
+ }
+ },
+ "VerifyFaceToFaceRequest": {
+ "type": "object",
+ "required": [
+ "faceId1",
+ "faceId2"
+ ],
+ "description": "Request body for face to face verification.",
+ "properties": {
+ "faceId1": {
+ "type": "string",
+ "format": "uuid",
+ "description": "FaceId of the first face, comes from Face - Detect"
+ },
+ "faceId2": {
+ "type": "string",
+ "format": "uuid",
+ "description": "FaceId of the second face, comes from Face - Detect"
+ }
+ }
+ },
+ "VerifyResult": {
+ "type": "object",
+ "required": [
+ "isIdentical",
+ "confidence"
+ ],
+ "description": "Result of the verify operation.",
+ "properties": {
+ "isIdentical": {
+ "type": "boolean",
+ "description": "True if the two faces belong to the same person or the face belongs to the person, otherwise false."
+ },
+ "confidence": {
+ "description": "A number indicates the similarity confidence of whether two faces belong to the same person, or whether the face belongs to the person. By default, isIdentical is set to True if similarity confidence is greater than or equal to 0.5. This is useful for advanced users to override \"isIdentical\" and fine-tune the result on their own data.",
+ "$ref": "#/definitions/Confidence"
+ }
+ }
+ },
+ "FaceList": {
+ "description": "Face list object.",
+ "type": "object",
+ "required": [
+ "faceListId"
+ ],
+ "properties": {
+ "faceListId": {
+ "type": "string",
+ "description": "FaceListId of the target face list.",
+ "maxLength": 64,
+ "pattern": "^[a-z0-9-_]+$"
+ },
+ "persistedFaces": {
+ "description": "Persisted faces within the face list.",
+ "$ref": "#/definitions/PersistedFaces"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MetaDataContract"
+ }
+ ]
+ },
+ "FaceLists": {
+ "type": "array",
+ "description": "An array of face list results, with fields of faceListId, name and userData",
+ "items": {
+ "$ref": "#/definitions/FaceList"
+ }
+ },
+ "PersonGroup": {
+ "type": "object",
+ "required": [
+ "personGroupId"
+ ],
+ "description": "Person group object.",
+ "properties": {
+ "personGroupId": {
+ "description": "PersonGroupId of the target person group.",
+ "type": "string",
+ "maxLength": 64,
+ "pattern": "^[a-z0-9-_]+$"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MetaDataContract"
+ }
+ ]
+ },
+ "PersonGroups": {
+ "type": "array",
+ "description": "An array of person groups.",
+ "items": {
+ "$ref": "#/definitions/PersonGroup"
+ }
+ },
+ "Person": {
+ "type": "object",
+ "required": [
+ "personId"
+ ],
+ "description": "Person object.",
+ "properties": {
+ "personId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "PersonId of the target face list."
+ },
+ "persistedFaceIds": {
+ "type": "array",
+ "description": "PersistedFaceIds of registered faces in the person. These persistedFaceIds are returned from Person - Add a Person Face, and will not expire.",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/NameAndUserDataContract"
+ }
+ ]
+ },
+ "Persons": {
+ "type": "array",
+ "description": "An array of Persons.",
+ "items": {
+ "$ref": "#/definitions/Person"
+ }
+ },
+ "PersistedFace": {
+ "type": "object",
+ "required": [
+ "persistedFaceId"
+ ],
+ "description": "PersonFace object.",
+ "properties": {
+ "persistedFaceId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "The persistedFaceId of the target face, which is persisted and will not expire. Different from faceId created by Face - Detect and will expire in at the time specified by faceIdTimeToLive after the detection call."
+ },
+ "userData": {
+ "type": "string",
+ "description": "User-provided data attached to the face. The size limit is 1KB.",
+ "maxLength": 1024
+ }
+ }
+ },
+ "PersistedFaces": {
+ "type": "array",
+ "description": "An array of persisted faces within the face list or large face list.",
+ "items": {
+ "$ref": "#/definitions/PersistedFace"
+ }
+ },
+ "LargeFaceList": {
+ "description": "Large face list object.",
+ "type": "object",
+ "required": [
+ "largeFaceListId"
+ ],
+ "properties": {
+ "largeFaceListId": {
+ "type": "string",
+ "description": "LargeFaceListId of the target large face list.",
+ "maxLength": 64,
+ "pattern": "^[a-z0-9-_]+$"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MetaDataContract"
+ }
+ ]
+ },
+ "LargeFaceLists": {
+ "type": "array",
+ "description": "An array of large face list results, with fields of largeFaceListId, name and userData",
+ "items": {
+ "$ref": "#/definitions/LargeFaceList"
+ }
+ },
+ "LargePersonGroup": {
+ "type": "object",
+ "required": [
+ "largePersonGroupId"
+ ],
+ "description": "Large person group object.",
+ "properties": {
+ "largePersonGroupId": {
+ "description": "LargePersonGroupId of the target large person groups",
+ "type": "string",
+ "maxLength": 64,
+ "pattern": "^[a-z0-9-_]+$"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MetaDataContract"
+ }
+ ]
+ },
+ "LargePersonGroups": {
+ "type": "array",
+ "description": "An array of large person groups.",
+ "items": {
+ "$ref": "#/definitions/LargePersonGroup"
+ }
+ },
+ "UpdateFaceRequest": {
+ "type": "object",
+ "description": "Request to update face data.",
+ "properties": {
+ "userData": {
+ "type": "string",
+ "description": "User-provided data attached to the face. The size limit is 1KB.",
+ "maxLength": 1024
+ }
+ }
+ },
+ "TrainingStatus": {
+ "type": "object",
+ "required": [
+ "status",
+ "createdDateTime"
+ ],
+ "description": "Training status object.",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Training status: notstarted, running, succeeded, failed. If the training process is waiting to perform, the status is notstarted. If the training is ongoing, the status is running. Status succeed means this person group or large person group is ready for Face - Identify, or this large face list is ready for Face - Find Similar. Status failed is often caused by no person or no persisted face exist in the person group or large person group, or no persisted face exist in the large face list.",
+ "x-ms-enum": {
+ "name": "TrainingStatusType",
+ "modelAsString": false
+ },
+ "enum": [
+ "nonstarted",
+ "running",
+ "succeeded",
+ "failed"
+ ]
+ },
+ "createdDateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "A combined UTC date and time string that describes the created time of the person group, large person group or large face list.",
+ "x-ms-client-name": "created"
+ },
+ "lastActionDateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "A combined UTC date and time string that describes the last modify time of the person group, large person group or large face list, could be null value when the group is not successfully trained.",
+ "x-ms-client-name": "lastAction"
+ },
+ "lastSuccessfulTrainingDateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "A combined UTC date and time string that describes the last successful training time of the person group, large person group or large face list.",
+ "x-ms-client-name": "lastSuccessfulTraining"
+ },
+ "message": {
+ "type": "string",
+ "description": "Show failure message when training failed (omitted when training succeed)."
+ }
+ }
+ },
+ "Confidence": {
+ "description": "A number ranging from 0 to 1 indicating a level of confidence associated with a property.",
+ "type": "number",
+ "minimum": 0,
+ "maximum": 1
+ },
+ "Level": {
+ "description": "A number ranging from 0 to 1 indicating the intensity level associated with a property.",
+ "type": "number",
+ "minimum": 0,
+ "maximum": 1
+ },
+ "NameAndUserDataContract": {
+ "type": "object",
+ "description": "A combination of user defined name and user specified data for the person, largePersonGroup/personGroup, and largeFaceList/faceList.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "User defined name, maximum length is 128.",
+ "maxLength": 128
+ },
+ "userData": {
+ "type": "string",
+ "description": "User specified data. Length should not exceed 16KB.",
+ "maxLength": 16384
+ }
+ }
+ },
+ "MetaDataContract": {
+ "type": "object",
+ "description": "A combination of user defined name and user specified data and recognition model name for largePersonGroup/personGroup, and largeFaceList/faceList.",
+ "properties": {
+ "recognitionModel": {
+ "$ref": "#/definitions/RecognitionModel"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/NameAndUserDataContract"
+ }
+ ]
+ },
+ "RecognitionModel": {
+ "type": "string",
+ "description": "Name of recognition model. Recognition model is used when the face features are extracted and associated with detected faceIds, (Large)FaceList or (Large)PersonGroup. A recognition model name can be provided when performing Face - Detect or (Large)FaceList - Create or (Large)PersonGroup - Create. The default value is 'recognition_01', if latest model needed, please explicitly specify the model you need.",
+ "default": "recognition_01",
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "RecognitionModel",
+ "modelAsString": true
+ },
+ "enum": [
+ "recognition_01",
+ "recognition_02",
+ "recognition_03",
+ "recognition_04"
+ ]
+ },
+ "ApplyScope": {
+ "type": "array",
+ "description": "Array of the target Face subscription ids for the snapshot, specified by the user who created the snapshot when calling Snapshot - Take. For each snapshot, only subscriptions included in the applyScope of Snapshot - Take can apply it.",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ },
+ "ApplySnapshotRequest": {
+ "type": "object",
+ "required": [
+ "objectId"
+ ],
+ "description": "Request body for applying snapshot operation.",
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "User specified target object id to be created from the snapshot.",
+ "maxLength": 64,
+ "pattern": "^[a-z0-9-_]+$"
+ },
+ "mode": {
+ "type": "string",
+ "description": "Snapshot applying mode. Currently only CreateNew is supported, which means the apply operation will fail if target subscription already contains an object of same type and using the same objectId. Users can specify the \"objectId\" in request body to avoid such conflicts.",
+ "default": "CreateNew",
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "SnapshotApplyMode",
+ "modelAsString": false
+ },
+ "enum": [
+ "CreateNew"
+ ]
+ }
+ }
+ },
+ "Snapshots": {
+ "type": "array",
+ "description": "An array of snapshots.",
+ "items": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "Snapshot": {
+ "type": "object",
+ "required": [
+ "id",
+ "account",
+ "type",
+ "applyScope",
+ "createdTime",
+ "lastUpdateTime"
+ ],
+ "description": "Snapshot object.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Snapshot id."
+ },
+ "account": {
+ "type": "string",
+ "description": "Azure Cognitive Service Face account id of the subscriber who created the snapshot by Snapshot - Take."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the source object in the snapshot, specified by the subscriber who created the snapshot when calling Snapshot - Take. Currently FaceList, PersonGroup, LargeFaceList and LargePersonGroup are supported.",
+ "x-ms-enum": {
+ "name": "SnapshotObjectType",
+ "modelAsString": false
+ },
+ "enum": [
+ "FaceList",
+ "LargeFaceList",
+ "LargePersonGroup",
+ "PersonGroup"
+ ]
+ },
+ "applyScope": {
+ "description": "Array of the target Face subscription ids for the snapshot, specified by the user who created the snapshot when calling Snapshot - Take. For each snapshot, only subscriptions included in the applyScope of Snapshot - Take can apply it.",
+ "$ref": "#/definitions/ApplyScope"
+ },
+ "userData": {
+ "type": "string",
+ "description": "User specified data about the snapshot for any purpose. Length should not exceed 16KB.",
+ "maxLength": 16384
+ },
+ "createdTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "A combined UTC date and time string that describes the created time of the snapshot. E.g. 2018-12-25T11:41:02.2331413Z."
+ },
+ "lastUpdateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "A combined UTC date and time string that describes the last time when the snapshot was created or updated by Snapshot - Update. E.g. 2018-12-25T11:51:27.8705696Z."
+ }
+ }
+ },
+ "TakeSnapshotRequest": {
+ "type": "object",
+ "required": [
+ "type",
+ "objectId",
+ "applyScope"
+ ],
+ "description": "Request body for taking snapshot operation.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "User specified type for the source object to take snapshot from. Currently FaceList, PersonGroup, LargeFaceList and LargePersonGroup are supported.",
+ "x-ms-enum": {
+ "name": "SnapshotObjectType",
+ "modelAsString": false
+ },
+ "enum": [
+ "FaceList",
+ "LargeFaceList",
+ "LargePersonGroup",
+ "PersonGroup"
+ ]
+ },
+ "objectId": {
+ "type": "string",
+ "description": "User specified source object id to take snapshot from.",
+ "maxLength": 64,
+ "pattern": "^[a-z0-9-_]+$"
+ },
+ "applyScope": {
+ "description": "User specified array of target Face subscription ids for the snapshot. For each snapshot, only subscriptions included in the applyScope of Snapshot - Take can apply it.",
+ "$ref": "#/definitions/ApplyScope"
+ },
+ "userData": {
+ "type": "string",
+ "description": "User specified data about the snapshot for any purpose. Length should not exceed 16KB.",
+ "maxLength": 16384
+ }
+ }
+ },
+ "UpdateSnapshotRequest": {
+ "type": "object",
+ "description": "Request body for updating a snapshot, with a combination of user defined apply scope and user specified data.",
+ "properties": {
+ "applyScope": {
+ "description": "Array of the target Face subscription ids for the snapshot, specified by the user who created the snapshot when calling Snapshot - Take. For each snapshot, only subscriptions included in the applyScope of Snapshot - Take can apply it.",
+ "$ref": "#/definitions/ApplyScope"
+ },
+ "userData": {
+ "type": "string",
+ "description": "User specified data about the snapshot for any purpose. Length should not exceed 16KB.",
+ "maxLength": 16384
+ }
+ }
+ },
+ "OperationStatus": {
+ "type": "object",
+ "required": [
+ "status",
+ "createdTime"
+ ],
+ "description": "Operation status object. Operation refers to the asynchronous backend task including taking a snapshot and applying a snapshot.",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Operation status: notstarted, running, succeeded, failed. If the operation is requested and waiting to perform, the status is notstarted. If the operation is ongoing in backend, the status is running. Status succeeded means the operation is completed successfully, specifically for snapshot taking operation, it illustrates the snapshot is well taken and ready to apply, and for snapshot applying operation, it presents the target object has finished creating by the snapshot and ready to be used. Status failed is often caused by editing the source object while taking the snapshot or editing the target object while applying the snapshot before completion, see the field \"message\" to check the failure reason.",
+ "x-ms-enum": {
+ "name": "OperationStatusType",
+ "modelAsString": false
+ },
+ "enum": [
+ "notstarted",
+ "running",
+ "succeeded",
+ "failed"
+ ]
+ },
+ "createdTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "A combined UTC date and time string that describes the time when the operation (take or apply a snapshot) is requested. E.g. 2018-12-25T11:41:02.2331413Z."
+ },
+ "lastActionTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "A combined UTC date and time string that describes the last time the operation (take or apply a snapshot) is actively migrating data. The lastActionTime will keep increasing until the operation finishes. E.g. 2018-12-25T11:51:27.8705696Z."
+ },
+ "resourceLocation": {
+ "type": "string",
+ "description": "When the operation succeeds successfully, for snapshot taking operation the snapshot id will be included in this field, and for snapshot applying operation, the path to get the target object will be returned in this field."
+ },
+ "message": {
+ "type": "string",
+ "description": "Show failure message when operation fails (omitted when operation succeeds)."
+ }
+ }
+ },
+ "PersistedFaceResponse": {
+ "type": "object",
+ "properties": {
+ "persistedFaceId": {
+ "format": "uuid",
+ "type": "string"
+ },
+ "userData": {
+ "type": "string"
+ }
+ }
+ },
+ "AsyncOperationStatus": {
+ "enum": [
+ "notStarted",
+ "running",
+ "succeeded",
+ "failed"
+ ],
+ "type": "string"
+ },
+ "AsyncStatus": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "$ref": "#/definitions/AsyncOperationStatus"
+ },
+ "createdTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "lastActionTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "finishedTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "resourceLocation": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ }
+ }
+ },
+ "EnrollmentResponse": {
+ "type": "object",
+ "properties": {
+ "personId": {
+ "format": "uuid",
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "userData": {
+ "type": "string"
+ }
+ }
+ },
+ "EnrolledPerson": {
+ "type": "object",
+ "properties": {
+ "personId": {
+ "format": "uuid",
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "userData": {
+ "type": "string"
+ }
+ }
+ },
+ "PersonCreationResponse": {
+ "type": "object",
+ "properties": {
+ "personId": {
+ "format": "uuid",
+ "type": "string"
+ }
+ }
+ },
+ "EnrollmentRequest": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "userData": {
+ "type": "string"
+ }
+ }
+ },
+ "EnrollmentPrintResponse": {
+ "type": "object",
+ "properties": {
+ "persistedFaceId": {
+ "format": "uuid",
+ "type": "string"
+ },
+ "recognitionModel": {
+ "type": "string"
+ },
+ "userData": {
+ "type": "string"
+ }
+ }
+ },
+ "PersonResponse": {
+ "type": "object",
+ "properties": {
+ "personId": {
+ "format": "uuid",
+ "type": "string"
+ },
+ "persistedFaceIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string"
+ }
+ },
+ "name": {
+ "type": "string"
+ },
+ "userData": {
+ "type": "string"
+ }
+ }
+ },
+ "DetectionModel": {
+ "enum": [
+ "detection_01",
+ "detection_02",
+ "detection_03",
+ "detection_preview_1904",
+ "ir_detection_01",
+ "expression_01"
+ ],
+ "type": "string"
+ },
+ "PersistedFaceWithType": {
+ "type": "object",
+ "properties": {
+ "detectionModel": {
+ "$ref": "#/definitions/DetectionModel"
+ },
+ "faceFeature": {
+ "format": "byte",
+ "type": "string"
+ },
+ "persistedFaceId": {
+ "format": "uuid",
+ "type": "string"
+ },
+ "userData": {
+ "type": "string"
+ }
+ }
+ },
+ "DynamicPersonGroupCreateRequest": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "userData": {
+ "type": "string"
+ },
+ "addPersonIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DynamicPersonGroupUpdateRequest": {
+ "type": "object",
+ "properties": {
+ "removePersonIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "name": {
+ "type": "string"
+ },
+ "userData": {
+ "type": "string"
+ },
+ "addPersonIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DynamicPersonGroupGetResponse": {
+ "type": "object",
+ "properties": {
+ "dynamicPersonGroupId": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "userData": {
+ "type": "string"
+ }
+ }
+ },
+ "DynamicPersonGroupListPersonsResponse": {
+ "type": "object",
+ "properties": {
+ "personIds": {
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PersonDynamicPersonGroupReferenceResponse": {
+ "type": "object",
+ "properties": {
+ "personId": {
+ "format": "uuid",
+ "type": "string"
+ },
+ "dynamicPersonGroupIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "returnFaceAttributes": {
+ "name": "returnFaceAttributes",
+ "in": "query",
+ "description": "Analyze and return the one or more specified face attributes in the comma-separated string like \"returnFaceAttributes=age,gender\". The available attributes depends on the 'detectionModel' specified. 'detection_01' supports age, gender, headPose, smile, facialHair, glasses, emotion, hair, makeup, occlusion, accessories, blur, exposure, and noise. While 'detection_02' does not support any attributes and 'detection_03' only supports mask. Note that each face attribute analysis has additional computational and time cost.",
+ "type": "array",
+ "x-ms-parameter-location": "method",
+ "required": false,
+ "collectionFormat": "csv",
+ "items": {
+ "type": "string",
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "FaceAttributeType",
+ "modelAsString": false
+ },
+ "enum": [
+ "age",
+ "gender",
+ "headPose",
+ "smile",
+ "facialHair",
+ "glasses",
+ "emotion",
+ "hair",
+ "makeup",
+ "occlusion",
+ "accessories",
+ "blur",
+ "exposure",
+ "noise",
+ "mask"
+ ]
+ }
+ },
+ "targetFace": {
+ "name": "targetFace",
+ "in": "query",
+ "description": "A face rectangle to specify the target face to be added to a person in the format of \"targetFace=left,top,width,height\". E.g. \"targetFace=10,10,100,100\". If there is more than one face in the image, targetFace is required to specify which face to add. No targetFace means there is only one face detected in the entire image.",
+ "type": "array",
+ "x-ms-parameter-location": "method",
+ "required": false,
+ "collectionFormat": "csv",
+ "items": {
+ "type": "integer",
+ "format": "int32",
+ "x-nullable": false,
+ "maxItems": 4,
+ "minItems": 4
+ }
+ },
+ "faceUserData": {
+ "name": "userData",
+ "in": "query",
+ "description": "User-specified data about the face for any purpose. The maximum length is 1KB.",
+ "type": "string",
+ "maxLength": 1024,
+ "x-ms-parameter-location": "method",
+ "required": false,
+ "collectionFormat": "csv"
+ },
+ "faceListId": {
+ "name": "faceListId",
+ "in": "path",
+ "description": "Id referencing a particular face list.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "collectionFormat": "csv",
+ "maxLength": 64,
+ "pattern": "^[a-z0-9-_]+$"
+ },
+ "personGroupId": {
+ "name": "personGroupId",
+ "in": "path",
+ "description": "Id referencing a particular person group.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "collectionFormat": "csv",
+ "maxLength": 64,
+ "pattern": "^[a-z0-9-_]+$"
+ },
+ "largeFaceListId": {
+ "name": "largeFaceListId",
+ "in": "path",
+ "description": "Id referencing a particular large face list.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "collectionFormat": "csv",
+ "maxLength": 64,
+ "pattern": "^[a-z0-9-_]+$"
+ },
+ "largePersonGroupId": {
+ "name": "largePersonGroupId",
+ "in": "path",
+ "description": "Id referencing a particular large person group.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "collectionFormat": "csv",
+ "maxLength": 64,
+ "pattern": "^[a-z0-9-_]+$"
+ },
+ "personId": {
+ "name": "personId",
+ "in": "path",
+ "description": "Id referencing a particular person.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-ms-parameter-location": "method",
+ "collectionFormat": "csv"
+ },
+ "persistedFaceId": {
+ "name": "persistedFaceId",
+ "in": "path",
+ "description": "Id referencing a particular persistedFaceId of an existing face.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-ms-parameter-location": "method",
+ "collectionFormat": "csv"
+ },
+ "applyScope": {
+ "name": "applyScope",
+ "description": "User specified snapshot apply scopes as a search filter. ApplyScope is an array of the target Azure subscription ids for the snapshot, specified by the user who created the snapshot by Snapshot - Take.",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "x-ms-parameter-location": "method",
+ "collectionFormat": "csv",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ },
+ "operationId": {
+ "name": "operationId",
+ "in": "path",
+ "description": "Id referencing a particular take/apply snapshot operation.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-ms-parameter-location": "method",
+ "collectionFormat": "csv"
+ },
+ "snapshotId": {
+ "name": "snapshotId",
+ "in": "path",
+ "description": "Id referencing a particular snapshot.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-ms-parameter-location": "method",
+ "collectionFormat": "csv"
+ },
+ "Endpoint": {
+ "name": "Endpoint",
+ "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com).",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ },
+ "recognitionModel": {
+ "name": "recognitionModel",
+ "description": "Name of recognition model. Recognition model is used when the face features are extracted and associated with detected faceIds, (Large)FaceList or (Large)PersonGroup. A recognition model name can be provided when performing Face - Detect or (Large)FaceList - Create or (Large)PersonGroup - Create. The default value is 'recognition_01', if latest model needed, please explicitly specify the model you need.",
+ "default": "recognition_01",
+ "required": false,
+ "type": "string",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "RecognitionModel",
+ "modelAsString": true
+ },
+ "enum": [
+ "recognition_01",
+ "recognition_02",
+ "recognition_03",
+ "recognition_04"
+ ]
+ },
+ "returnRecognitionModel": {
+ "name": "returnRecognitionModel",
+ "description": "A value indicating whether the operation should return 'recognitionModel' in response.",
+ "default": false,
+ "required": false,
+ "type": "boolean",
+ "in": "query",
+ "x-ms-parameter-location": "method"
+ },
+ "detectionModel": {
+ "name": "detectionModel",
+ "description": "Name of detection model. Detection model is used to detect faces in the submitted image. A detection model name can be provided when performing Face - Detect or (Large)FaceList - Add Face or (Large)PersonGroup - Add Face. The default value is 'detection_01', if another model is needed, please explicitly specify it.",
+ "default": "detection_01",
+ "required": false,
+ "type": "string",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "DetectionModel",
+ "modelAsString": true
+ },
+ "enum": [
+ "detection_01",
+ "detection_02",
+ "detection_03"
+ ]
+ },
+ "returnFaceId": {
+ "name": "returnFaceId",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "description": "A value indicating whether the operation should return faceIds of detected faces.",
+ "type": "boolean",
+ "default": true
+ },
+ "returnFaceLandmarks": {
+ "name": "returnFaceLandmarks",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "description": "A value indicating whether the operation should return landmarks of the detected faces.",
+ "type": "boolean",
+ "default": false
+ },
+ "faceIdTimeToLive": {
+ "name": "faceIdTimeToLive",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "description": "The number of seconds for the faceId being cached. Supported range from 60 seconds up to 86400 seconds. The default value is 86400 (24 hours).",
+ "type": "integer",
+ "default": 86400,
+ "minimum": 60,
+ "maximum": 86400
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddFaceListFaceFromStream.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddFaceListFaceFromStream.json
new file mode 100644
index 000000000000..ba03f3780650
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddFaceListFaceFromStream.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/octet-stream",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "faceListId": "sample_face_list",
+ "userData": "{Customized user data}",
+ "targetFace": [
+ 10,
+ 10,
+ 100,
+ 100
+ ],
+ "Image": "{Image stream in base 64 encoded format}",
+ "detectionModel": "detection_01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "persistedFaceId": "B8D802CF-DD8F-4E61-B15C-9E6C5844CCBA"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddFaceListFaceFromUrl.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddFaceListFaceFromUrl.json
new file mode 100644
index 000000000000..e54883e45ff6
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddFaceListFaceFromUrl.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "faceListId": "sample_face_list",
+ "userData": "{Customized user data}",
+ "targetFace": [
+ 10,
+ 10,
+ 100,
+ 100
+ ],
+ "ImageUrl": {
+ "url": "{Image Url here}"
+ },
+ "detectionModel": "detection_01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "persistedFaceId": "B8D802CF-DD8F-4E61-B15C-9E6C5844CCBA"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddLargeFaceListFaceFromStream.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddLargeFaceListFaceFromStream.json
new file mode 100644
index 000000000000..3435e5128732
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddLargeFaceListFaceFromStream.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/octet-stream",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largeFaceListId": "sample_face_list",
+ "userData": "{Customized user data}",
+ "targetFace": [
+ 10,
+ 10,
+ 100,
+ 100
+ ],
+ "Image": "{Image stream in base 64 encoded format}",
+ "detectionModel": "detection_01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "persistedFaceId": "B8D802CF-DD8F-4E61-B15C-9E6C5844CCBA"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddLargeFaceListFaceFromUrl.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddLargeFaceListFaceFromUrl.json
new file mode 100644
index 000000000000..cfc48557fa4f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddLargeFaceListFaceFromUrl.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largeFaceListId": "sample_face_list",
+ "userData": "{Customized user data}",
+ "targetFace": [
+ 10,
+ 10,
+ 100,
+ 100
+ ],
+ "ImageUrl": {
+ "url": "{Image Url here}"
+ },
+ "detectionModel": "detection_01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "persistedFaceId": "B8D802CF-DD8F-4E61-B15C-9E6C5844CCBA"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddLargePersonGroupPersonFaceFromStream.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddLargePersonGroupPersonFaceFromStream.json
new file mode 100644
index 000000000000..c6993a8a95bc
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddLargePersonGroupPersonFaceFromStream.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/octet-stream",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largePersonGroupId": "abc",
+ "personId": "4caa25ee-3bc6-4e88-adf8-12455ce7aab0",
+ "userData": "{customized User data}",
+ "targetFace": [
+ 10,
+ 10,
+ 100,
+ 100
+ ],
+ "Image": "{Image stream in base 64 encoded format}",
+ "detectionModel": "detection_01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "persistedFaceId": "6e04c175-219e-42a2-9d26-0e7b790e1ef4"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddLargePersonGroupPersonFaceFromUrl.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddLargePersonGroupPersonFaceFromUrl.json
new file mode 100644
index 000000000000..b8a1e3fc5d82
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddLargePersonGroupPersonFaceFromUrl.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largePersonGroupId": "abc",
+ "personId": "4caa25ee-3bc6-4e88-adf8-12455ce7aab0",
+ "userData": "{customized User data}",
+ "targetFace": [
+ 10,
+ 10,
+ 100,
+ 100
+ ],
+ "ImageUrl": {
+ "url": "{Image Url here}"
+ },
+ "detectionModel": "detection_01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "persistedFaceId": "6e04c175-219e-42a2-9d26-0e7b790e1ef4"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddPersonDirectoryPersonFaceFromStream.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddPersonDirectoryPersonFaceFromStream.json
new file mode 100644
index 000000000000..a0472d1b8c6c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddPersonDirectoryPersonFaceFromStream.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/octet-stream",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personId": "4caa25ee-3bc6-4e88-adf8-12455ce7aab0",
+ "userData": "{customized User data}",
+ "targetFace": "[10, 10, 100, 100]",
+ "Image": "{Image stream in base 64 encoded format}",
+ "recognitionModel": "recognition_02",
+ "detectionModel": "detection_01"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "persistedFaceId": "6e04c175-219e-42a2-9d26-0e7b790e1ef4",
+ "recognitionModel": null,
+ "userData": null
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddPersonDirectoryPersonFaceFromUrl.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddPersonDirectoryPersonFaceFromUrl.json
new file mode 100644
index 000000000000..67cfe0b4669b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddPersonDirectoryPersonFaceFromUrl.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personId": "4caa25ee-3bc6-4e88-adf8-12455ce7aab0",
+ "userData": "{customized User data}",
+ "targetFace": "[10, 10, 100, 100]",
+ "ImageUrl": {
+ "url": "{Image Url here}"
+ },
+ "recognitionModel": "recognition_02",
+ "detectionModel": "detection_01"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "persistedFaceId": "6e04c175-219e-42a2-9d26-0e7b790e1ef4",
+ "recognitionModel": null,
+ "userData": null
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddPersonGroupPersonFaceFromStream.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddPersonGroupPersonFaceFromStream.json
new file mode 100644
index 000000000000..95fb0ffefa69
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddPersonGroupPersonFaceFromStream.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/octet-stream",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personGroupId": "abc",
+ "personId": "4caa25ee-3bc6-4e88-adf8-12455ce7aab0",
+ "userData": "{customized User data}",
+ "targetFace": [
+ 10,
+ 10,
+ 100,
+ 100
+ ],
+ "Image": "{Image stream in base 64 encoded format}",
+ "detectionModel": "detection_01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "persistedFaceId": "6e04c175-219e-42a2-9d26-0e7b790e1ef4"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddPersonGroupPersonFaceFromUrl.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddPersonGroupPersonFaceFromUrl.json
new file mode 100644
index 000000000000..a5e102adc5cb
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddPersonGroupPersonFaceFromUrl.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personGroupId": "abc",
+ "personId": "4caa25ee-3bc6-4e88-adf8-12455ce7aab0",
+ "userData": "{customized User data}",
+ "targetFace": [
+ 10,
+ 10,
+ 100,
+ 100
+ ],
+ "ImageUrl": {
+ "url": "{Image Url here}"
+ },
+ "detectionModel": "detection_01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "persistedFaceId": "6e04c175-219e-42a2-9d26-0e7b790e1ef4"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ApplySnapshot.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ApplySnapshot.json
new file mode 100644
index 000000000000..b6a9b3b07da6
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ApplySnapshot.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "snapshotId": "e58b3f08-1e8b-4165-81df-aa9858f233dc",
+ "body": {
+ "objectId": "target-face-list-id",
+ "mode": "CreateNew"
+ }
+ },
+ "responses": {
+ "202": {
+ "header": {
+ "Operation-Location": "/operations/84276574-2a2a-4540-a1b0-f65d834d225b"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewDynamicPersonGroup.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewDynamicPersonGroup.json
new file mode 100644
index 000000000000..6b55410a2911
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewDynamicPersonGroup.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "dynamicPersonGroupId": "abc",
+ "body": {
+ "name": "group1",
+ "userData": "user-provided data attached to the person group."
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewFaceList.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewFaceList.json
new file mode 100644
index 000000000000..27b931726dc5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewFaceList.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "faceListId": "sample_face_list",
+ "body": {
+ "name": "sample_list",
+ "userData": "User-provided data attached to the face list.",
+ "recognitionModel": "recognition_01"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewLargeFaceList.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewLargeFaceList.json
new file mode 100644
index 000000000000..7d9471cc218b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewLargeFaceList.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largeFaceListId": "sample_face_list",
+ "body": {
+ "name": "large-face-list-name",
+ "userData": "User-provided data attached to the large face list.",
+ "recognitionModel": "recognition_01"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewLargePersonGroup.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewLargePersonGroup.json
new file mode 100644
index 000000000000..213cca68a808
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewLargePersonGroup.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largePersonGroupId": "abc",
+ "body": {
+ "name": "large-person-group-name",
+ "userData": "User-provided data attached to the large person group.",
+ "recognitionModel": "recognition_01"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewLargePersonGroupPerson.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewLargePersonGroupPerson.json
new file mode 100644
index 000000000000..cd57744a82a0
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewLargePersonGroupPerson.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largePersonGroupId": "abc",
+ "body": {
+ "name": "mike",
+ "userData": "{additional data associated with mike}"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "personId": "4caa25ee-3bc6-4e88-adf8-12455ce7aab0"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewPersonDirectoryPerson.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewPersonDirectoryPerson.json
new file mode 100644
index 000000000000..712996b5f693
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewPersonDirectoryPerson.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {
+ "name": "mike",
+ "userData": "{additional data associated with mike}"
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "personId": "4caa25ee-3bc6-4e88-adf8-12455ce7aab0"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewPersonGroup.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewPersonGroup.json
new file mode 100644
index 000000000000..47bac3dae296
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewPersonGroup.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personGroupId": "abc",
+ "body": {
+ "name": "group1",
+ "userData": "user-provided data attached to the person group.",
+ "recognitionModel": "recognition_01"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewPersonGroupPerson.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewPersonGroupPerson.json
new file mode 100644
index 000000000000..b62b3a2352ac
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewPersonGroupPerson.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personGroupId": "abc",
+ "body": {
+ "name": "mike",
+ "userData": "{additional data associated with mike}"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "personId": "4caa25ee-3bc6-4e88-adf8-12455ce7aab0"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteDynamicPersonGroup.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteDynamicPersonGroup.json
new file mode 100644
index 000000000000..bd318036ed6d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteDynamicPersonGroup.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "dynamicPersonGroupId": "abc"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteFaceList.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteFaceList.json
new file mode 100644
index 000000000000..8a56998fe56e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteFaceList.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "faceListId": "sample_face_list"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteFaceListFace.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteFaceListFace.json
new file mode 100644
index 000000000000..3c7cb6945fad
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteFaceListFace.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "faceListId": "sample_face_list",
+ "persistedFaceId": "62004fa7-1ac0-478e-9d5a-b38f9e7fbc68"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteLargeFaceList.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteLargeFaceList.json
new file mode 100644
index 000000000000..a17660fd24a8
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteLargeFaceList.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largeFaceListId": "sample_face_list"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteLargeFaceListFace.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteLargeFaceListFace.json
new file mode 100644
index 000000000000..c51df9d7089e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteLargeFaceListFace.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largeFaceListId": "sample_face_list",
+ "persistedFaceId": "62004fa7-1ac0-478e-9d5a-b38f9e7fbc68"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteLargePersonGroup.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteLargePersonGroup.json
new file mode 100644
index 000000000000..e9888166e026
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteLargePersonGroup.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largePersonGroupId": "abc"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteLargePersonGroupPerson.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteLargePersonGroupPerson.json
new file mode 100644
index 000000000000..f75102f3a28b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteLargePersonGroupPerson.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largePersonGroupId": "abc",
+ "personId": "25985303-c537-4467-b41d-bdb45cd95ca1"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteLargePersonGroupPersonFace.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteLargePersonGroupPersonFace.json
new file mode 100644
index 000000000000..593ea9f58f47
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteLargePersonGroupPersonFace.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largePersonGroupId": "abc",
+ "personId": "25985303-c537-4467-b41d-bdb45cd95ca1",
+ "persistedFaceId": "62004fa7-1ac0-478e-9d5a-b38f9e7fbc68"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeletePersonDirectoryPerson.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeletePersonDirectoryPerson.json
new file mode 100644
index 000000000000..a2f224a8c305
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeletePersonDirectoryPerson.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personId": "25985303-c537-4467-b41d-bdb45cd95ca1"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeletePersonDirectoryPersonFace.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeletePersonDirectoryPersonFace.json
new file mode 100644
index 000000000000..626c7b5e3503
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeletePersonDirectoryPersonFace.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personId": "25985303-c537-4467-b41d-bdb45cd95ca1",
+ "recognitionModel": "recognition_02",
+ "persistedFaceId": "62004fa7-1ac0-478e-9d5a-b38f9e7fbc68"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeletePersonGroup.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeletePersonGroup.json
new file mode 100644
index 000000000000..f7c062c6a2e0
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeletePersonGroup.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personGroupId": "abc"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeletePersonGroupPerson.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeletePersonGroupPerson.json
new file mode 100644
index 000000000000..b9a3e416b947
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeletePersonGroupPerson.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personGroupId": "abc",
+ "personId": "25985303-c537-4467-b41d-bdb45cd95ca1"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeletePersonGroupPersonFace.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeletePersonGroupPersonFace.json
new file mode 100644
index 000000000000..459adbe3eda5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeletePersonGroupPersonFace.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personGroupId": "abc",
+ "personId": "25985303-c537-4467-b41d-bdb45cd95ca1",
+ "persistedFaceId": "62004fa7-1ac0-478e-9d5a-b38f9e7fbc68"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteSnapshot.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteSnapshot.json
new file mode 100644
index 000000000000..48c5abc49858
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteSnapshot.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "snapshotId": "e58b3f08-1e8b-4165-81df-aa9858f233dc"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DetectWithStream.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DetectWithStream.json
new file mode 100644
index 000000000000..3b532c60c099
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DetectWithStream.json
@@ -0,0 +1,244 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/octet-stream",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "returnFaceAttributes": [
+ "age",
+ "gender",
+ "headPose",
+ "smile",
+ "facialHair",
+ "glasses",
+ "emotion",
+ "hair",
+ "makeup",
+ "occlusion",
+ "accessories",
+ "blur",
+ "exposure",
+ "noise"
+ ],
+ "Image": "{Image binary in base 64 format}",
+ "recognitionModel": "recognition_01",
+ "returnRecognitionModel": true,
+ "detectionModel": "detection_01"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "faceId": "c5c24a82-6845-4031-9d5d-978df9175426",
+ "recognitionModel": "recognition_01",
+ "faceRectangle": {
+ "width": 78,
+ "height": 78,
+ "left": 394,
+ "top": 54
+ },
+ "faceLandmarks": {
+ "pupilLeft": {
+ "x": 412.7,
+ "y": 78.4
+ },
+ "pupilRight": {
+ "x": 446.8,
+ "y": 74.2
+ },
+ "noseTip": {
+ "x": 437.7,
+ "y": 92.4
+ },
+ "mouthLeft": {
+ "x": 417.8,
+ "y": 114.4
+ },
+ "mouthRight": {
+ "x": 451.3,
+ "y": 109.3
+ },
+ "eyebrowLeftOuter": {
+ "x": 397.9,
+ "y": 78.5
+ },
+ "eyebrowLeftInner": {
+ "x": 425.4,
+ "y": 70.5
+ },
+ "eyeLeftOuter": {
+ "x": 406.7,
+ "y": 80.6
+ },
+ "eyeLeftTop": {
+ "x": 412.2,
+ "y": 76.2
+ },
+ "eyeLeftBottom": {
+ "x": 413.0,
+ "y": 80.1
+ },
+ "eyeLeftInner": {
+ "x": 418.9,
+ "y": 78.0
+ },
+ "eyebrowRightInner": {
+ "x": 4.8,
+ "y": 69.7
+ },
+ "eyebrowRightOuter": {
+ "x": 5.5,
+ "y": 68.5
+ },
+ "eyeRightInner": {
+ "x": 441.5,
+ "y": 75.0
+ },
+ "eyeRightTop": {
+ "x": 446.4,
+ "y": 71.7
+ },
+ "eyeRightBottom": {
+ "x": 447.0,
+ "y": 75.3
+ },
+ "eyeRightOuter": {
+ "x": 451.7,
+ "y": 73.4
+ },
+ "noseRootLeft": {
+ "x": 428.0,
+ "y": 77.1
+ },
+ "noseRootRight": {
+ "x": 435.8,
+ "y": 75.6
+ },
+ "noseLeftAlarTop": {
+ "x": 428.3,
+ "y": 89.7
+ },
+ "noseRightAlarTop": {
+ "x": 442.2,
+ "y": 87.0
+ },
+ "noseLeftAlarOutTip": {
+ "x": 424.3,
+ "y": 96.4
+ },
+ "noseRightAlarOutTip": {
+ "x": 446.6,
+ "y": 92.5
+ },
+ "upperLipTop": {
+ "x": 437.6,
+ "y": 105.9
+ },
+ "upperLipBottom": {
+ "x": 437.6,
+ "y": 108.2
+ },
+ "underLipTop": {
+ "x": 436.8,
+ "y": 111.4
+ },
+ "underLipBottom": {
+ "x": 437.3,
+ "y": 114.5
+ }
+ },
+ "faceAttributes": {
+ "age": 71.0,
+ "gender": "male",
+ "smile": 0.88,
+ "facialHair": {
+ "moustache": 0.8,
+ "beard": 0.1,
+ "sideburns": 0.02
+ },
+ "glasses": "sunglasses",
+ "headPose": {
+ "roll": 2.1,
+ "yaw": 3,
+ "pitch": 1.6
+ },
+ "emotion": {
+ "anger": 0.575,
+ "contempt": 0,
+ "disgust": 0.006,
+ "fear": 0.008,
+ "happiness": 0.394,
+ "neutral": 0.013,
+ "sadness": 0,
+ "surprise": 0.004
+ },
+ "hair": {
+ "bald": 0.0,
+ "invisible": false,
+ "hairColor": [
+ {
+ "color": "brown",
+ "confidence": 1.0
+ },
+ {
+ "color": "blond",
+ "confidence": 0.88
+ },
+ {
+ "color": "black",
+ "confidence": 0.48
+ },
+ {
+ "color": "other",
+ "confidence": 0.11
+ },
+ {
+ "color": "gray",
+ "confidence": 0.07
+ },
+ {
+ "color": "red",
+ "confidence": 0.03
+ }
+ ]
+ },
+ "makeup": {
+ "eyeMakeup": true,
+ "lipMakeup": false
+ },
+ "occlusion": {
+ "foreheadOccluded": false,
+ "eyeOccluded": false,
+ "mouthOccluded": false
+ },
+ "accessories": [
+ {
+ "type": "headWear",
+ "confidence": 0.99
+ },
+ {
+ "type": "glasses",
+ "confidence": 1.0
+ },
+ {
+ "type": "mask",
+ "confidence": 0.87
+ }
+ ],
+ "blur": {
+ "blurLevel": "Medium",
+ "value": 0.51
+ },
+ "exposure": {
+ "exposureLevel": "GoodExposure",
+ "value": 0.55
+ },
+ "noise": {
+ "noiseLevel": "Low",
+ "value": 0.12
+ }
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DetectWithUrl.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DetectWithUrl.json
new file mode 100644
index 000000000000..693778906f3c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DetectWithUrl.json
@@ -0,0 +1,246 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "returnFaceAttributes": [
+ "age",
+ "gender",
+ "headPose",
+ "smile",
+ "facialHair",
+ "glasses",
+ "emotion",
+ "hair",
+ "makeup",
+ "occlusion",
+ "accessories",
+ "blur",
+ "exposure",
+ "noise"
+ ],
+ "ImageUrl": {
+ "url": "{Image Url here}"
+ },
+ "recognitionModel": "recognition_01",
+ "returnRecognitionModel": true,
+ "detectionModel": "detection_01"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "faceId": "c5c24a82-6845-4031-9d5d-978df9175426",
+ "recognitionModel": "recognition_01",
+ "faceRectangle": {
+ "width": 78,
+ "height": 78,
+ "left": 394,
+ "top": 54
+ },
+ "faceLandmarks": {
+ "pupilLeft": {
+ "x": 412.7,
+ "y": 78.4
+ },
+ "pupilRight": {
+ "x": 446.8,
+ "y": 74.2
+ },
+ "noseTip": {
+ "x": 437.7,
+ "y": 92.4
+ },
+ "mouthLeft": {
+ "x": 417.8,
+ "y": 114.4
+ },
+ "mouthRight": {
+ "x": 451.3,
+ "y": 109.3
+ },
+ "eyebrowLeftOuter": {
+ "x": 397.9,
+ "y": 78.5
+ },
+ "eyebrowLeftInner": {
+ "x": 425.4,
+ "y": 70.5
+ },
+ "eyeLeftOuter": {
+ "x": 406.7,
+ "y": 80.6
+ },
+ "eyeLeftTop": {
+ "x": 412.2,
+ "y": 76.2
+ },
+ "eyeLeftBottom": {
+ "x": 413.0,
+ "y": 80.1
+ },
+ "eyeLeftInner": {
+ "x": 418.9,
+ "y": 78.0
+ },
+ "eyebrowRightInner": {
+ "x": 4.8,
+ "y": 69.7
+ },
+ "eyebrowRightOuter": {
+ "x": 5.5,
+ "y": 68.5
+ },
+ "eyeRightInner": {
+ "x": 441.5,
+ "y": 75.0
+ },
+ "eyeRightTop": {
+ "x": 446.4,
+ "y": 71.7
+ },
+ "eyeRightBottom": {
+ "x": 447.0,
+ "y": 75.3
+ },
+ "eyeRightOuter": {
+ "x": 451.7,
+ "y": 73.4
+ },
+ "noseRootLeft": {
+ "x": 428.0,
+ "y": 77.1
+ },
+ "noseRootRight": {
+ "x": 435.8,
+ "y": 75.6
+ },
+ "noseLeftAlarTop": {
+ "x": 428.3,
+ "y": 89.7
+ },
+ "noseRightAlarTop": {
+ "x": 442.2,
+ "y": 87.0
+ },
+ "noseLeftAlarOutTip": {
+ "x": 424.3,
+ "y": 96.4
+ },
+ "noseRightAlarOutTip": {
+ "x": 446.6,
+ "y": 92.5
+ },
+ "upperLipTop": {
+ "x": 437.6,
+ "y": 105.9
+ },
+ "upperLipBottom": {
+ "x": 437.6,
+ "y": 108.2
+ },
+ "underLipTop": {
+ "x": 436.8,
+ "y": 111.4
+ },
+ "underLipBottom": {
+ "x": 437.3,
+ "y": 114.5
+ }
+ },
+ "faceAttributes": {
+ "age": 71.0,
+ "gender": "male",
+ "smile": 0.88,
+ "facialHair": {
+ "moustache": 0.8,
+ "beard": 0.1,
+ "sideburns": 0.02
+ },
+ "glasses": "sunglasses",
+ "headPose": {
+ "roll": 2.1,
+ "yaw": 3,
+ "pitch": 1.6
+ },
+ "emotion": {
+ "anger": 0.575,
+ "contempt": 0,
+ "disgust": 0.006,
+ "fear": 0.008,
+ "happiness": 0.394,
+ "neutral": 0.013,
+ "sadness": 0,
+ "surprise": 0.004
+ },
+ "hair": {
+ "bald": 0.0,
+ "invisible": false,
+ "hairColor": [
+ {
+ "color": "brown",
+ "confidence": 1.0
+ },
+ {
+ "color": "blond",
+ "confidence": 0.88
+ },
+ {
+ "color": "black",
+ "confidence": 0.48
+ },
+ {
+ "color": "other",
+ "confidence": 0.11
+ },
+ {
+ "color": "gray",
+ "confidence": 0.07
+ },
+ {
+ "color": "red",
+ "confidence": 0.03
+ }
+ ]
+ },
+ "makeup": {
+ "eyeMakeup": true,
+ "lipMakeup": false
+ },
+ "occlusion": {
+ "foreheadOccluded": false,
+ "eyeOccluded": false,
+ "mouthOccluded": false
+ },
+ "accessories": [
+ {
+ "type": "headWear",
+ "confidence": 0.99
+ },
+ {
+ "type": "glasses",
+ "confidence": 1.0
+ },
+ {
+ "type": "mask",
+ "confidence": 0.87
+ }
+ ],
+ "blur": {
+ "blurLevel": "Medium",
+ "value": 0.51
+ },
+ "exposure": {
+ "exposureLevel": "GoodExposure",
+ "value": 0.55
+ },
+ "noise": {
+ "noiseLevel": "Low",
+ "value": 0.12
+ }
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/FindSimilar.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/FindSimilar.json
new file mode 100644
index 000000000000..f8acd5058618
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/FindSimilar.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {
+ "faceId": "c5c24a82-6845-4031-9d5d-978df9175426",
+ "largeFaceListId": "sample_list",
+ "maxNumOfCandidatesReturned": 1,
+ "mode": "matchPerson"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "persistedFaceId": "015839fb-fbd9-4f79-ace9-7675fc2f1dd9",
+ "confidence": 0.82
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetDynamicPersonGroup.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetDynamicPersonGroup.json
new file mode 100644
index 000000000000..751fe881a655
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetDynamicPersonGroup.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "dynamicPersonGroupId": "abc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "dynamicPersonGroupId": "abc",
+ "name": "DynamicPersonGroup1",
+ "userData": "User-provided data attached to the dynamic person group."
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetFaceList.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetFaceList.json
new file mode 100644
index 000000000000..10afff68c1c3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetFaceList.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "faceListId": "sample_face_list",
+ "returnRecognitionModel": true
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "faceListId": "sample_list",
+ "name": "list1",
+ "userData": "User-provided data attached to the face list.",
+ "recognitionModel": "recognition_01",
+ "persistedFaces": [
+ {
+ "persistedFaceId": "B8D802CF-DD8F-4E61-B15C-9E6C5844CCBD",
+ "userData": "User-provided data attached to the face."
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetLargeFaceList.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetLargeFaceList.json
new file mode 100644
index 000000000000..7899fda502c2
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetLargeFaceList.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largeFaceListId": "f92f6f1b-3258-4444-8fa2-c2df505cc7ac",
+ "returnRecognitionModel": true
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "largeFaceListId": "f92f6f1b-3258-4444-8fa2-c2df505cc7ac",
+ "name": "large-face-list-name",
+ "userData": "User-provided data attached to the large face list.",
+ "recognitionModel": "recognition_01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetLargeFaceListPersistedFace.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetLargeFaceListPersistedFace.json
new file mode 100644
index 000000000000..8cb9d3298ee1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetLargeFaceListPersistedFace.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largeFaceListId": "abc",
+ "persistedFaceId": "015839fb-fbd9-4f79-ace9-7675fc2f1dd9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "persistedFaceId": "015839fb-fbd9-4f79-ace9-7675fc2f1dd9",
+ "userData": "User-provided data attached to the face."
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetLargeFaceListTrainingStatus.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetLargeFaceListTrainingStatus.json
new file mode 100644
index 000000000000..5581acaa52e6
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetLargeFaceListTrainingStatus.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largeFaceListId": "abc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "succeeded",
+ "createdDateTime": "2017-12-21T12:57:27.00Z",
+ "lastActionDateTime": "2017-12-21T12:57:30.00Z",
+ "lastSuccessfulTrainingDateTime": "2017-12-21T12:57:30.00Z",
+ "message": null
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetLargePersonGroup.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetLargePersonGroup.json
new file mode 100644
index 000000000000..9642c6cd6579
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetLargePersonGroup.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largePersonGroupId": "abc",
+ "returnRecognitionModel": true
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "largePersonGroupId": "d408cb4e-2f5f-4b4d-b99e-f0b72870e5b5",
+ "name": "large-person-group-name",
+ "userData": "User-provided data attached to the large person group.",
+ "recognitionModel": "recognition_01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetLargePersonGroupPersistedFace.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetLargePersonGroupPersistedFace.json
new file mode 100644
index 000000000000..ee1ea734c024
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetLargePersonGroupPersistedFace.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largePersonGroupId": "abc",
+ "personId": "B8D802CF-DD8F-4E61-B15C-9E6C5844CCBA",
+ "persistedFaceId": "015839fb-fbd9-4f79-ace9-7675fc2f1dd9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "persistedFaceId": "015839fb-fbd9-4f79-ace9-7675fc2f1dd9",
+ "userData": "User-provided data attached to the person face."
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetLargePersonGroupPerson.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetLargePersonGroupPerson.json
new file mode 100644
index 000000000000..00af2632ef7d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetLargePersonGroupPerson.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largePersonGroupId": "abc",
+ "personId": "25985303-c537-4467-b41d-bdb45cd95ca1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "personId": "25985303-c537-4467-b41d-bdb45cd95ca1",
+ "persistedFaceIds": [
+ "015839fb-fbd9-4f79-ace9-7675fc2f1dd9",
+ "fce92aed-d578-4d2e-8114-068f8af4492e",
+ "b64d5e15-8257-4af2-b20a-5a750f8940e7"
+ ],
+ "name": "person-name",
+ "userData": "User-provided data attached to the person."
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetLargePersonGroupTrainingStatus.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetLargePersonGroupTrainingStatus.json
new file mode 100644
index 000000000000..4fdd195db586
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetLargePersonGroupTrainingStatus.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largePersonGroupId": "abc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "succeeded",
+ "createdDateTime": "2017-12-21T12:57:27.00Z",
+ "lastActionDateTime": "2017-12-21T12:57:30.00Z",
+ "lastSuccessfulTrainingDateTime": "2017-12-21T12:57:30.00Z",
+ "message": null
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetPersonDirectoryPerson.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetPersonDirectoryPerson.json
new file mode 100644
index 000000000000..982dc7a922e3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetPersonDirectoryPerson.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personId": "25985303-c537-4467-b41d-bdb45cd95ca1",
+ "recognitionModel": "recognition02"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "personId": "25985303-c537-4467-b41d-bdb45cd95ca1",
+ "name": "Ryan",
+ "userData": "User-provided data attached to the person."
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetPersonDirectoryPersonFace.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetPersonDirectoryPersonFace.json
new file mode 100644
index 000000000000..dc0d33d9bfff
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetPersonDirectoryPersonFace.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personId": "4caa25ee-3bc6-4e88-adf8-12455ce7aab0",
+ "recognitionModel": "recognition_02",
+ "persistedFaceId": "6e04c175-219e-42a2-9d26-0e7b790e1ef4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "persistedFaceId": "6e04c175-219e-42a2-9d26-0e7b790e1ef4",
+ "userData": "User-provided data attached to the person face."
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetPersonDirectoryPersonFaces.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetPersonDirectoryPersonFaces.json
new file mode 100644
index 000000000000..173bd40256c0
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetPersonDirectoryPersonFaces.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personId": "4caa25ee-3bc6-4e88-adf8-12455ce7aab0",
+ "recognitionModel": "recognition_02"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "personId": "4caa25ee-3bc6-4e88-adf8-12455ce7aab0",
+ "persistedFaceIds": [
+ "015839fb-fbd9-4f79-ace9-7675fc2f1dd9",
+ "fce92aed-d578-4d2e-8114-068f8af4492e",
+ "b64d5e15-8257-4af2-b20a-5a750f8940e7"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetPersonDirectoryPersons.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetPersonDirectoryPersons.json
new file mode 100644
index 000000000000..4227f78b78fa
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetPersonDirectoryPersons.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "personId": "25985303-c537-4467-b41d-bdb45cd95ca1",
+ "name": "Ryan",
+ "userData": "User-provided data attached to the person."
+ },
+ {
+ "personId": "2ae4935b-9659-44c3-977f-61fac20d0538",
+ "name": "David",
+ "userData": "User-provided data attached to the person."
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetPersonGroup.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetPersonGroup.json
new file mode 100644
index 000000000000..a1941cdb85f1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetPersonGroup.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personGroupId": "abc",
+ "returnRecognitionModel": true
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "personGroupId": "sample_group",
+ "name": "group1",
+ "userData": "User-provided data attached to the person group.",
+ "recognitionModel": "recognition_01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetPersonGroupPersistedFace.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetPersonGroupPersistedFace.json
new file mode 100644
index 000000000000..0c88343b90a9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetPersonGroupPersistedFace.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personGroupId": "abc",
+ "personId": "foobar",
+ "persistedFaceId": "asd"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "persistedFaceId": "015839fb-fbd9-4f79-ace9-7675fc2f1dd9",
+ "userData": "User-provided data attached to the person face."
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetPersonGroupPerson.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetPersonGroupPerson.json
new file mode 100644
index 000000000000..6b4d1cd7c157
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetPersonGroupPerson.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personGroupId": "abc",
+ "personId": "25985303-c537-4467-b41d-bdb45cd95ca1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "personId": "25985303-c537-4467-b41d-bdb45cd95ca1",
+ "persistedFaceIds": [
+ "015839fb-fbd9-4f79-ace9-7675fc2f1dd9",
+ "fce92aed-d578-4d2e-8114-068f8af4492e",
+ "b64d5e15-8257-4af2-b20a-5a750f8940e7"
+ ],
+ "name": "Ryan",
+ "userData": "User-provided data attached to the person."
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetPersonGroupTrainingStatus.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetPersonGroupTrainingStatus.json
new file mode 100644
index 000000000000..2327573ef59e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetPersonGroupTrainingStatus.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personGroupId": "abc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "succeeded",
+ "createdDateTime": "2017-12-21T12:57:27.00Z",
+ "lastActionDateTime": "2017-12-21T12:57:30.00Z",
+ "message": null
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetSnapshot.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetSnapshot.json
new file mode 100644
index 000000000000..9ceced091c19
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetSnapshot.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "snapshotId": "e58b3f08-1e8b-4165-81df-aa9858f233dc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "e58b3f08-1e8b-4165-81df-aa9858f233dc",
+ "account": "/subscriptions/f9b96b36-1f5e-4021-8959-51527e26e6d3/resourceGroups/TestRG/providers/Microsoft.CognitiveServices/accounts/FaceTest01",
+ "type": "FaceList",
+ "applyScope": [
+ "35230F59-AA9C-45E0-AB5E-C859BF1A5429",
+ "64084E07-9B7F-4A98-BEA4-9986D3A1EDEB"
+ ],
+ "userData": "User-provided data attached to the snapshot.",
+ "createdTime": "2018-12-25T11:41:02.2331413Z",
+ "lastUpdateTime": "2018-12-25T11:51:27.8705696Z"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetSnapshotOperationStatus.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetSnapshotOperationStatus.json
new file mode 100644
index 000000000000..ee817dafe4fd
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/GetSnapshotOperationStatus.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "operationId": "a63a3bdd-a1db-4d05-87b8-dbad6850062a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "succeeded",
+ "createdTime": "2018-12-25T11:41:02.2331413Z",
+ "lastActionTime": "2018-12-25T11:51:27.8705696Z",
+ "resourceLocation": "/snapshots/e58b3f08-1e8b-4165-81df-aa9858f233dc",
+ "message": null
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/Group.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/Group.json
new file mode 100644
index 000000000000..18e632e04c31
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/Group.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {
+ "faceIds": [
+ "c5c24a82-6845-4031-9d5d-978df9175426",
+ "015839fb-fbd9-4f79-ace9-7675fc2f1dd9",
+ "65d083d4-9447-47d1-af30-b626144bf0fb",
+ "fce92aed-d578-4d2e-8114-068f8af4492e",
+ "30ea1073-cc9e-4652-b1e3-d08fb7b95315",
+ "be386ab3-af91-4104-9e6d-4dae4c9fddb7",
+ "fbd2a038-dbff-452c-8e79-2ee81b1aa84e",
+ "b64d5e15-8257-4af2-b20a-5a750f8940e7"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "groups": [
+ [
+ "c5c24a82-6845-4031-9d5d-978df9175426",
+ "015839fb-fbd9-4f79-ace9-7675fc2f1dd9",
+ "fce92aed-d578-4d2e-8114-068f8af4492e",
+ "b64d5e15-8257-4af2-b20a-5a750f8940e7"
+ ],
+ [
+ "65d083d4-9447-47d1-af30-b626144bf0fb",
+ "30ea1073-cc9e-4652-b1e3-d08fb7b95315"
+ ]
+ ],
+ "messyGroup": [
+ "be386ab3-af91-4104-9e6d-4dae4c9fddb7"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/Identify.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/Identify.json
new file mode 100644
index 000000000000..1398891645f3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/Identify.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {
+ "largePersonGroupId": "sample_group",
+ "faceIds": [
+ "c5c24a82-6845-4031-9d5d-978df9175426",
+ "65d083d4-9447-47d1-af30-b626144bf0fb"
+ ],
+ "maxNumOfCandidatesReturned": 1,
+ "confidenceThreshold": 0.5
+ }
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "faceId": "c5c24a82-6845-4031-9d5d-978df9175426",
+ "candidates": [
+ {
+ "personId": "25985303-c537-4467-b41d-bdb45cd95ca1",
+ "confidence": 0.92
+ }
+ ]
+ },
+ {
+ "faceId": "65d083d4-9447-47d1-af30-b626144bf0fb",
+ "candidates": [
+ {
+ "personId": "2ae4935b-9659-44c3-977f-61fac20d0538",
+ "confidence": 0.89
+ }
+ ]
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListDynamicPersonGroupPersons.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListDynamicPersonGroupPersons.json
new file mode 100644
index 000000000000..c6bde32fa828
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListDynamicPersonGroupPersons.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "dynamicPersonGroupId": "abc",
+ "start": "25985303-c537-4467-b41d-bdb45cd95ca1",
+ "top": "2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "personIds": [
+ "25985303-c537-4467-b41d-bdb45cd95ca1",
+ "2ae4935b-9659-44c3-977f-61fac20d0538"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListDynamicPersonGroupReferences.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListDynamicPersonGroupReferences.json
new file mode 100644
index 000000000000..22baa04d8fb9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListDynamicPersonGroupReferences.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personId": "1d44651f-fadb-41f5-8918-c30609964489"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "personId": "1d44651f-fadb-41f5-8918-c30609964489",
+ "dynamicPersonGroupIds": [
+ "dynamicPersonGroup1",
+ "dynamicPersonGroup2"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListDynamicPersonGroups.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListDynamicPersonGroups.json
new file mode 100644
index 000000000000..d6da64768adc
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListDynamicPersonGroups.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "start": "sample_group",
+ "top": "2"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "dynamicPersonGroupId": "dynamicPersonGroup1",
+ "name": "name1",
+ "userData": "User-provided data attached to the DynamicPersonGroup."
+ },
+ {
+ "dynamicPersonGroupId": "dynamicPersonGroup2",
+ "name": "name2",
+ "userData": "User-provided data attached to the DynamicPersonGroup."
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListFaceLists.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListFaceLists.json
new file mode 100644
index 000000000000..512e91939afd
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListFaceLists.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "returnRecognitionModel": true
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "faceListId": "sample_face_list",
+ "name": "list1",
+ "userData": "User-provided data attached to the face list.",
+ "recognitionModel": "recognition_01"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListLargeFaceListFaces.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListLargeFaceListFaces.json
new file mode 100644
index 000000000000..4eeb7d58cb1c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListLargeFaceListFaces.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largeFaceListId": "abc",
+ "start": "25985303-c537-4467-b41d-bdb45cd95ca1",
+ "top": 2
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "persistedFaceId": "8a887ac2-53fd-4f55-9024-1ec77eecd08e",
+ "userData": "User-provided data attached to the large face list face."
+ },
+ {
+ "persistedFaceId": "f92f6f1b-3258-4444-8fa2-c2df505cc7ac",
+ "userData": "User-provided data attached to the large face list face."
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListLargeFaceLists.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListLargeFaceLists.json
new file mode 100644
index 000000000000..84c5a520c3d9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListLargeFaceLists.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "returnRecognitionModel": true
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "largeFaceListId": "f92f6f1b-3258-4444-8fa2-c2df505cc7ac",
+ "name": "large-face-list-name1",
+ "userData": "User-provided data attached to the large face list.",
+ "recognitionModel": "recognition_01"
+ },
+ {
+ "largeFaceListId": "c76f7f13-0ed3-4d00-8a3e-2ad3d78f6c37",
+ "name": "large-face-list-name2",
+ "userData": "User-provided data attached to the large face list.",
+ "recognitionModel": "recognition_01"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListLargePersonGroupPersons.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListLargePersonGroupPersons.json
new file mode 100644
index 000000000000..d5a6ba659d79
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListLargePersonGroupPersons.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largePersonGroupId": "abc",
+ "start": "25985303-c537-4467-b41d-bdb45cd95ca1",
+ "top": 2
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "personId": "25985303-c537-4467-b41d-bdb45cd95ca1",
+ "name": "person-name1",
+ "userData": "User-provided data attached to the person.",
+ "persistedFaceIds": [
+ "015839fb-fbd9-4f79-ace9-7675fc2f1dd9",
+ "fce92aed-d578-4d2e-8114-068f8af4492e",
+ "b64d5e15-8257-4af2-b20a-5a750f8940e7"
+ ]
+ },
+ {
+ "personId": "2ae4935b-9659-44c3-977f-61fac20d0538",
+ "name": "person-name2",
+ "userData": "User-provided data attached to the person.",
+ "persistedFaceIds": [
+ "30ea1073-cc9e-4652-b1e3-d08fb7b95315",
+ "fbd2a038-dbff-452c-8e79-2ee81b1aa84e"
+ ]
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListLargePersonGroups.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListLargePersonGroups.json
new file mode 100644
index 000000000000..fb01f364ecd0
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListLargePersonGroups.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "start": "sample_group",
+ "top": 2,
+ "returnRecognitionModel": true
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "largePersonGroupId": "f92f6f1b-3258-4444-8fa2-c2df505cc7ac",
+ "name": "large-person-group-name1",
+ "userData": "User-provided data attached to the large person group.",
+ "recognitionModel": "recognition_01"
+ },
+ {
+ "largePersonGroupId": "c76f7f13-0ed3-4d00-8a3e-2ad3d78f6c37",
+ "name": "large-person-group-name2",
+ "userData": "User-provided data attached to the large person group.",
+ "recognitionModel": "recognition_01"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListPersonGroupPersons.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListPersonGroupPersons.json
new file mode 100644
index 000000000000..27011485903d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListPersonGroupPersons.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personGroupId": "abc",
+ "start": "25985303-c537-4467-b41d-bdb45cd95ca1",
+ "top": 2
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "personId": "25985303-c537-4467-b41d-bdb45cd95ca1",
+ "name": "Ryan",
+ "userData": "User-provided data attached to the person",
+ "persistedFaceIds": [
+ "015839fb-fbd9-4f79-ace9-7675fc2f1dd9",
+ "fce92aed-d578-4d2e-8114-068f8af4492e",
+ "b64d5e15-8257-4af2-b20a-5a750f8940e7"
+ ]
+ },
+ {
+ "personId": "2ae4935b-9659-44c3-977f-61fac20d0538",
+ "name": "David",
+ "userData": "User-provided data attached to the person",
+ "persistedFaceIds": [
+ "30ea1073-cc9e-4652-b1e3-d08fb7b95315",
+ "fbd2a038-dbff-452c-8e79-2ee81b1aa84e"
+ ]
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListPersonGroups.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListPersonGroups.json
new file mode 100644
index 000000000000..276996afa6fc
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListPersonGroups.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "start": "sample_group",
+ "top": 2,
+ "returnRecognitionModel": true
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "personGroupId": "sample_group",
+ "name": "group1",
+ "userData": "User-provided data attached to the person group.",
+ "recognitionModel": "recognition_01"
+ },
+ {
+ "personGroupId": "sample_group2",
+ "name": "group2",
+ "userData": "User-provided data attached to the person group.",
+ "recognitionModel": "recognition_01"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListSnapshots.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListSnapshots.json
new file mode 100644
index 000000000000..2dba0e2d4832
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/ListSnapshots.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "type": "FaceList",
+ "applyScope": [
+ "64084E07-9B7F-4A98-BEA4-9986D3A1EDEB"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "id": "e58b3f08-1e8b-4165-81df-aa9858f233dc",
+ "account": "/subscriptions/f9b96b36-1f5e-4021-8959-51527e26e6d3/resourceGroups/TestRG/providers/Microsoft.CognitiveServices/accounts/FaceTest01",
+ "type": "FaceList",
+ "applyScope": [
+ "35230F59-AA9C-45E0-AB5E-C859BF1A5429",
+ "64084E07-9B7F-4A98-BEA4-9986D3A1EDEB"
+ ],
+ "userData": "User-provided data attached to the snapshot1.",
+ "createdTime": "2018-12-25T11:41:02.2331413Z",
+ "lastUpdateTime": "2018-12-25T11:51:27.8705696Z"
+ },
+ {
+ "id": "a61e61e4-c3d1-4d33-8ae8-676e6104757d",
+ "account": "/subscriptions/6622996e-0149-4b22-9703-4216dc948d52/resourceGroups/TestRG/providers/Microsoft.CognitiveServices/accounts/FaceTest01",
+ "type": "FaceList",
+ "applyScope": [
+ "64084E07-9B7F-4A98-BEA4-9986D3A1EDEB"
+ ],
+ "userData": "User-provided data attached to the snapshot2.",
+ "createdTime": "2018-12-29T17:09:32.3298483Z",
+ "lastUpdateTime": "2018-12-29T17:14:34.5645877Z"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/QueueLargeFaceListTraining.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/QueueLargeFaceListTraining.json
new file mode 100644
index 000000000000..38b96eb8dd09
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/QueueLargeFaceListTraining.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largeFaceListId": "abc"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/QueueLargePersonGroupTraining.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/QueueLargePersonGroupTraining.json
new file mode 100644
index 000000000000..62cf89c96bc1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/QueueLargePersonGroupTraining.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largePersonGroupId": "abc"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/QueuePersonGroupTraining.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/QueuePersonGroupTraining.json
new file mode 100644
index 000000000000..998a4eb523ea
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/QueuePersonGroupTraining.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personGroupId": "abc"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/TakeSnapshot.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/TakeSnapshot.json
new file mode 100644
index 000000000000..ef925f79b927
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/TakeSnapshot.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {
+ "type": "FaceList",
+ "objectId": "source-face-list-id",
+ "applyScope": [
+ "35230F59-AA9C-45E0-AB5E-C859BF1A5429",
+ "64084E07-9B7F-4A98-BEA4-9986D3A1EDEB"
+ ],
+ "userData": "User-provided data attached to the snapshot."
+ }
+ },
+ "responses": {
+ "202": {
+ "header": {
+ "Operation-Location": "/operations/a63a3bdd-a1db-4d05-87b8-dbad6850062a"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateDynamicPersonGroup.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateDynamicPersonGroup.json
new file mode 100644
index 000000000000..c76dd3808c39
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateDynamicPersonGroup.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "dynamicPersonGroupId": "abc",
+ "body": {
+ "name": "Display Name of Dynamic Person Group",
+ "userData": "User-provided data attached to the dynamic person group.",
+ "addPersonIds": [
+ "25985303-c537-4467-b41d-bdb45cd95ca1",
+ "4caa25ee-3bc6-4e88-adf8-12455ce7aab0"
+ ],
+ "removePersonIds": [
+ "2ae4935b-9659-44c3-977f-61fac20d0538"
+ ]
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateFaceList.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateFaceList.json
new file mode 100644
index 000000000000..78ec8efe493a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateFaceList.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "faceListId": "sample_face_list",
+ "body": {
+ "name": "list1",
+ "userData": "User-provided data attached to the face list."
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateLargeFaceList.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateLargeFaceList.json
new file mode 100644
index 000000000000..e1918aef1e28
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateLargeFaceList.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largeFaceListId": "sample_face_list",
+ "body": {
+ "name": "large-face-list-name",
+ "userData": "User-provided data attached to the large face list."
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateLargeFaceListFace.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateLargeFaceListFace.json
new file mode 100644
index 000000000000..fe742c9bb920
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateLargeFaceListFace.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largeFaceListId": "abc",
+ "persistedFaceId": "62004fa7-1ac0-478e-9d5a-b38f9e7fbc68",
+ "body": {
+ "userData": "User-provided data attached to the face."
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateLargePersonGroup.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateLargePersonGroup.json
new file mode 100644
index 000000000000..b15516c4b0f3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateLargePersonGroup.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largePersonGroupId": "abc",
+ "body": {
+ "name": "group1",
+ "userData": "user-provided data attached to the large person group."
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateLargePersonGroupPerson.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateLargePersonGroupPerson.json
new file mode 100644
index 000000000000..eee119bf114b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateLargePersonGroupPerson.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largePersonGroupId": "abc",
+ "personId": "25985303-c537-4467-b41d-bdb45cd95ca1",
+ "body": {
+ "name": "mike",
+ "userData": "{additional data associated with mike}"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateLargePersonGroupPersonFace.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateLargePersonGroupPersonFace.json
new file mode 100644
index 000000000000..0b91ecb07efc
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateLargePersonGroupPersonFace.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "largePersonGroupId": "abc",
+ "personId": "25985303-c537-4467-b41d-bdb45cd95ca1",
+ "persistedFaceId": "62004fa7-1ac0-478e-9d5a-b38f9e7fbc68",
+ "body": {
+ "userData": "User-provided data attached to the face."
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdatePersonDirectoryPerson.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdatePersonDirectoryPerson.json
new file mode 100644
index 000000000000..077cede90291
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdatePersonDirectoryPerson.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personId": "25985303-c537-4467-b41d-bdb45cd95ca1",
+ "body": {
+ "name": "mike",
+ "userData": "{additional data associated with mike}"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdatePersonDirectoryPersonFace.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdatePersonDirectoryPersonFace.json
new file mode 100644
index 000000000000..d8d550d88a32
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdatePersonDirectoryPersonFace.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personId": "25985303-c537-4467-b41d-bdb45cd95ca1",
+ "recognitionModel": "recognition_02",
+ "persistedFaceId": "62004fa7-1ac0-478e-9d5a-b38f9e7fbc68",
+ "body": {
+ "userData": "User-provided data attached to the face."
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdatePersonGroup.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdatePersonGroup.json
new file mode 100644
index 000000000000..2ed80b8253cd
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdatePersonGroup.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personGroupId": "abc",
+ "body": {
+ "name": "group1",
+ "userData": "user-provided data attached to the person group."
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdatePersonGroupPerson.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdatePersonGroupPerson.json
new file mode 100644
index 000000000000..76fc46fc4deb
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdatePersonGroupPerson.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personGroupId": "abc",
+ "personId": "25985303-c537-4467-b41d-bdb45cd95ca1",
+ "body": {
+ "name": "mike",
+ "userData": "{additional data associated with mike}"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdatePersonGroupPersonFace.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdatePersonGroupPersonFace.json
new file mode 100644
index 000000000000..b3e7b74542d5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdatePersonGroupPersonFace.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "personGroupId": "abc",
+ "personId": "25985303-c537-4467-b41d-bdb45cd95ca1",
+ "persistedFaceId": "62004fa7-1ac0-478e-9d5a-b38f9e7fbc68",
+ "body": {
+ "userData": "User-provided data attached to the face."
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateSnapshot.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateSnapshot.json
new file mode 100644
index 000000000000..5d56c58b9de4
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateSnapshot.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "snapshotId": "e58b3f08-1e8b-4165-81df-aa9858f233dc",
+ "body": {
+ "applyScope": [
+ "64084E07-9B7F-4A98-BEA4-9986D3A1EDEB"
+ ],
+ "userData": "User-provided data attached to the snapshot."
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/VerifyFaceToFace.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/VerifyFaceToFace.json
new file mode 100644
index 000000000000..dd75941b7f41
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/VerifyFaceToFace.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {
+ "faceId1": "c5c24a82-6845-4031-9d5d-978df9175426",
+ "faceId2": "815df99c-598f-4926-930a-a734b3fd651c"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isIdentical": true,
+ "confidence": 0.9
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/VerifyFaceToPerson.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/VerifyFaceToPerson.json
new file mode 100644
index 000000000000..7646c4e2b357
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/VerifyFaceToPerson.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {
+ "faceId": "c5c24a82-6845-4031-9d5d-978df9175426",
+ "personId": "815df99c-598f-4926-930a-a734b3fd651c",
+ "largePersonGroupId": "sample_group"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isIdentical": true,
+ "confidence": 0.9
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Face/readme.go.md b/specification/cognitiveservices/data-plane/Face/readme.go.md
index a5217486e00b..2344790cf38d 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
```
@@ -23,4 +23,13 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'release_1_0' && $(go)
+output-folder: $(go-sdk-folder)/services/cognitiveservices/v1.0-preview/$(namespace)
```
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/Face/readme.md b/specification/cognitiveservices/data-plane/Face/readme.md
index 94ccd041fce0..cb1b24f37af9 100644
--- a/specification/cognitiveservices/data-plane/Face/readme.md
+++ b/specification/cognitiveservices/data-plane/Face/readme.md
@@ -21,6 +21,13 @@ These settings apply only when `--tag=release_1_0` is specified on the command l
input-file: stable/v1.0/Face.json
```
+### Release 1.0-preview
+These settings apply only when `--tag=release_1_0_preview` is specified on the command line.
+
+``` yaml $(tag) == 'release_1_0_preview'
+input-file: preview/v1.0-preview/Face.json
+```
+
## Swagger to SDK
This section describes what SDK should be generated by the automatic system.
@@ -84,6 +91,7 @@ require: $(this-folder)/../../../../profiles/readme.md
# all the input files across all versions
input-file:
- $(this-folder)/stable/v1.0/Face.json
+ - $(this-folder)/preview/v1.0-preview/Face.json
```
diff --git a/specification/cognitiveservices/data-plane/Face/readme.ruby.md b/specification/cognitiveservices/data-plane/Face/readme.ruby.md
index 9f2a5a7123e8..77389ae603a9 100644
--- a/specification/cognitiveservices/data-plane/Face/readme.ruby.md
+++ b/specification/cognitiveservices/data-plane/Face/readme.ruby.md
@@ -25,3 +25,9 @@ namespace: "Azure::CognitiveServices::Face::V1_0"
output-folder: $(ruby-sdks-folder)/data/azure_cognitiveservices_face/lib
title: "FaceClient"
```
+
+``` yaml $(tag) == 'release_1_0_preview' && $(ruby)
+namespace: "Azure::CognitiveServices::Face::V1_0_preview"
+output-folder: $(ruby-sdks-folder)/data/azure_cognitiveservices_face/lib
+title: "FaceClient"
+```
\ 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..d42cba926ba2 100644
--- a/specification/cognitiveservices/data-plane/FormRecognizer/readme.md
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/readme.md
@@ -4,17 +4,31 @@
Configuration for generating Form Recognizer SDK.
-The current release is `release_2_0`.
+The current release is `release_2_1`.
``` yaml
-tag: release_2_0
+tag: release_2_1
add-credentials: true
openapi-type: data-plane
```
# Releases
+### Release 2.1
+These settings apply only when `--tag=release_2_1` is specified on the command line.
+``` yaml $(tag) == 'release_2_1'
+input-file:
+ - stable/v2.1/FormRecognizer.json
+```
+
+### 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 +77,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/FormRecognizer/stable/v2.1/FormRecognizer.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/FormRecognizer.json
new file mode 100644
index 000000000000..5500a2faae85
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/FormRecognizer.json
@@ -0,0 +1,2350 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2.1",
+ "title": "Form Recognizer Client",
+ "description": "Extracts information from forms and images into structured data."
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}/formrecognizer/v2.1",
+ "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
+ },
+ "valueCountryRegion": {
+ "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",
+ "countryRegion"
+ ],
+ "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/stable/v2.1/examples/AnalyzeBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/AnalyzeBatch.json
new file mode 100644
index 000000000000..760d436472fe
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/AnalyzeBatch.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{modelId}",
+ "body": {}
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/v2.1/custom/models/{modelId}/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/AnalyzeOperationResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/AnalyzeOperationResult.json
new file mode 100644
index 000000000000..5b8a65ac0a6b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/AnalyzeOperationResult.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{modelId}",
+ "resultId": "{result Id}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "running",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "analyzeResult": {
+ "version": "v2.1",
+ "readResults": [],
+ "pageResults": [],
+ "documentResults": [],
+ "errors": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/BusinessCardBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/BusinessCardBatch.json
new file mode 100644
index 000000000000..7759a2ca1103
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/BusinessCardBatch.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {
+ "source": "http://www.example.com/image.jpg"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/v2.1/prebuilt/businessCard/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/BusinessCardBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/BusinessCardBatchResult.json
new file mode 100644
index 000000000000..2cf7aa15db22
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/BusinessCardBatchResult.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "resultId": "{result Id}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "running",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "analyzeResult": {
+ "version": "v2.1",
+ "readResults": [],
+ "pageResults": [],
+ "documentResults": [],
+ "errors": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/ComposeModels.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/ComposeModels.json
new file mode 100644
index 000000000000..2a971b054911
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/ComposeModels.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {},
+ "composeRequest": {
+ "modelIds": [
+ "4afb20d6-3ed0-4cde-ba40-dbd6207268dd",
+ "6f841356-aa32-42c9-a739-2182c47b79c9"
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "{endpoint}/formrecognizer/v2.1/custom/models/{modelId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/CopyModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/CopyModel.json
new file mode 100644
index 000000000000..b75960514bd4
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/CopyModel.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{modelId}",
+ "body": {},
+ "copyRequest": {
+ "targetResourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{resourceName}",
+ "targetResourceRegion": "westus2",
+ "copyAuthorization": {
+ "modelId": "{modelId}",
+ "accessToken": "{accessToken}",
+ "expirationDateTimeTicks": 86400
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/v2.1/custom/models/{modelId}/copyResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/CopyModelAuthorization.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/CopyModelAuthorization.json
new file mode 100644
index 000000000000..8371ba8f28ea
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/CopyModelAuthorization.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {}
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "{endpoint}/formrecognizer/v2.1/custom/models/{modelId}"
+ },
+ "body": {
+ "modelId": "{modelId}",
+ "accessToken": "{accessToken}",
+ "expirationDateTimeTicks": 86400
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/CopyOperationResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/CopyOperationResult.json
new file mode 100644
index 000000000000..f7b7b1163884
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/CopyOperationResult.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{modelId}",
+ "resultId": "{resultId}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "succeeded",
+ "createdDateTime": "2020-01-01T00:00:00Z",
+ "lastUpdatedDateTime": "2020-01-01T00:01:00Z",
+ "copyResult": {
+ "modelId": "{modelId}",
+ "errors": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/CopyOperationResultWithErrors.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/CopyOperationResultWithErrors.json
new file mode 100644
index 000000000000..853dd73e595e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/CopyOperationResultWithErrors.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{modelId}",
+ "resultId": "{resultId}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "failed",
+ "createdDateTime": "2020-01-01T00:00:00Z",
+ "lastUpdatedDateTime": "2020-01-01T00:01:00Z",
+ "copyResult": {
+ "modelId": "{modelId}",
+ "errors": [
+ {
+ "code": "ResourceResolverError",
+ "message": "{ErrorMessage}"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/DeleteModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/DeleteModel.json
new file mode 100644
index 000000000000..c945ec953dd4
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/DeleteModel.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{modelId}",
+ "body": {}
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/GetModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/GetModel.json
new file mode 100644
index 000000000000..df1c4b66b252
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/GetModel.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{modelId}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "modelInfo": {
+ "modelId": "f973e3c1-1148-43bb-bea8-49d0603ab3a8",
+ "modelName": "my composed model",
+ "status": "ready",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "attributes": {
+ "isComposed": true
+ }
+ },
+ "keys": {
+ "clusters": {
+ "0": [
+ "Invoice",
+ "123112313"
+ ],
+ "1": [
+ "Please remit payment to:",
+ "Microsoft"
+ ]
+ }
+ },
+ "trainResult": {
+ "trainingDocuments": [],
+ "fields": [],
+ "averageModelAccuracy": 0,
+ "errors": []
+ },
+ "composedTrainResults": [
+ {
+ "modelId": "4afb20d6-3ed0-4cde-ba40-dbd6207268dd",
+ "trainingDocuments": [],
+ "fields": [],
+ "averageModelAccuracy": 0,
+ "errors": []
+ },
+ {
+ "modelId": "6f841356-aa32-42c9-a739-2182c47b79c9",
+ "trainingDocuments": [],
+ "fields": [],
+ "averageModelAccuracy": 0,
+ "errors": []
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/GetModels.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/GetModels.json
new file mode 100644
index 000000000000..36ee11465e4f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/GetModels.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "op": "full",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "summary": {
+ "count": 2,
+ "limit": 5000,
+ "lastUpdatedDateTime": "2019-05-01T10:53:21Z"
+ },
+ "modelList": [
+ {
+ "modelId": "f973e3c1-1148-43bb-bea8-49d0603ab3a8",
+ "modelName": "test model 1",
+ "status": "ready",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "attributes": {
+ "isComposed": false
+ }
+ },
+ {
+ "modelId": "f973e3c1-0001-43bb-bea8-49d0603ab3a8",
+ "modelName": "test model 2",
+ "status": "ready",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "attributes": {
+ "isComposed": true
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/GetModelsSummary.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/GetModelsSummary.json
new file mode 100644
index 000000000000..507495b78206
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/GetModelsSummary.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "op": "summary",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "summary": {
+ "count": 5,
+ "limit": 5000,
+ "lastUpdatedDateTime": "2019-05-01T10:53:21Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/IDDocumentBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/IDDocumentBatch.json
new file mode 100644
index 000000000000..c5060291b85f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/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/prebuilt/idDocument/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/IDDocumentBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/IDDocumentBatchResult.json
new file mode 100644
index 000000000000..2cf7aa15db22
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/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/stable/v2.1/examples/InvoiceBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/InvoiceBatch.json
new file mode 100644
index 000000000000..21661d716ddf
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/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/prebuilt/invoice/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/InvoiceBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/InvoiceBatchResult.json
new file mode 100644
index 000000000000..2cf7aa15db22
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/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/stable/v2.1/examples/LayoutBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/LayoutBatch.json
new file mode 100644
index 000000000000..01f3471041e3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/LayoutBatch.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "language": "en",
+ "body": {}
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/v2.1/layout/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/LayoutBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/LayoutBatchResult.json
new file mode 100644
index 000000000000..2a258bfe71bc
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/LayoutBatchResult.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "resultId": "{result Id}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "succeeded",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "analyzeResult": {
+ "version": "v2.1",
+ "readResults": [],
+ "pageResults": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/ReceiptsBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/ReceiptsBatch.json
new file mode 100644
index 000000000000..a368b680bebe
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/ReceiptsBatch.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {}
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/ReceiptsBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/ReceiptsBatchResult.json
new file mode 100644
index 000000000000..2cf7aa15db22
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/ReceiptsBatchResult.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "resultId": "{result Id}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "running",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "analyzeResult": {
+ "version": "v2.1",
+ "readResults": [],
+ "pageResults": [],
+ "documentResults": [],
+ "errors": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/TrainBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/TrainBatch.json
new file mode 100644
index 000000000000..176d0f1ff9d7
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/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/custom/models/{modelId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/TrainBatchWithSubFolders.json b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/examples/TrainBatchWithSubFolders.json
new file mode 100644
index 000000000000..0b8c310aca87
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/stable/v2.1/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/custom/models/{modelId}"
+ }
+ }
+ }
+}
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..0d5db509f29c 100644
--- a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/MetricsAdvisor.json
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/MetricsAdvisor.json
@@ -1,8 +1,8 @@
{
"swagger": "2.0",
"info": {
- "title": "Azure Cognitive Service Metrics Advisor REST API (OpenAPI v2)",
- "description": "Azure Cognitive Service Metrics Advisor REST API (OpenAPI v2)",
+ "title": "Microsoft Azure Metrics Advisor REST API (OpenAPI v2)",
+ "description": "Microsoft Azure Metrics Advisor REST API (OpenAPI v2)",
"version": "1.0"
},
"paths": {
@@ -109,8 +109,11 @@
}
],
"responses": {
- "204": {
- "description": "Success"
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AnomalyAlertingConfiguration"
+ }
},
"default": {
"description": "Client error or server error (4xx or 5xx)",
@@ -241,8 +244,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 +318,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 +383,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"
}
@@ -482,8 +485,11 @@
}
],
"responses": {
- "204": {
- "description": "Success"
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AnomalyDetectionConfiguration"
+ }
},
"default": {
"description": "Client error or server error (4xx or 5xx)",
@@ -588,7 +594,7 @@
"tags": [
"AnomalyDetection"
],
- "summary": "Query all anomaly alerting configurations for specific anomaly detection configuration",
+ "summary": "List all anomaly alerting configurations for specific anomaly detection configuration",
"operationId": "getAnomalyAlertingConfigurationsByAnomalyDetectionConfiguration",
"produces": [
"application/json"
@@ -601,6 +607,20 @@
"required": true,
"type": "string",
"format": "uuid"
+ },
+ {
+ "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": {
@@ -617,8 +637,11 @@
}
}
},
+ "x-ms-pageable": {
+ "nextLinkName": "@nextLink"
+ },
"x-ms-examples": {
- "Query all anomaly alerting configurations for specific anomaly detection configuration": {
+ "List all anomaly alerting configurations for specific anomaly detection configuration": {
"$ref": "./examples/getAnomalyAlertingConfigurationsByAnomalyDetectionConfiguration.json"
}
}
@@ -708,8 +731,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 +801,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 +864,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 +922,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 +1006,230 @@
}
}
},
+ "/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": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DataSourceCredential"
+ }
+ },
+ "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,9 +1258,9 @@
"AzureCosmosDB",
"AzureDataExplorer",
"AzureDataLakeStorageGen2",
+ "AzureEventHubs",
+ "AzureLogAnalytics",
"AzureTable",
- "Elasticsearch",
- "HttpRequest",
"InfluxDB",
"MongoDB",
"MySql",
@@ -1037,7 +1284,6 @@
"Daily",
"Hourly",
"Minutely",
- "Secondly",
"Custom"
],
"x-ms-enum": {
@@ -1074,8 +1320,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"
}
@@ -1222,8 +1468,11 @@
}
],
"responses": {
- "204": {
- "description": "Success"
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DataFeedDetail"
+ }
},
"default": {
"description": "Client error or server error (4xx or 5xx)",
@@ -1339,8 +1588,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 +1701,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"
}
@@ -1600,8 +1849,11 @@
}
],
"responses": {
- "204": {
- "description": "Success"
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/HookInfo"
+ }
},
"default": {
"description": "Client error or server error (4xx or 5xx)",
@@ -1684,8 +1936,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 +2150,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 +2220,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"
},
@@ -2012,7 +2264,7 @@
"tags": [
"Metric"
],
- "summary": "Query all anomaly detection configurations for specific metric",
+ "summary": "List all anomaly detection configurations for specific metric",
"operationId": "getAnomalyDetectionConfigurationsByMetric",
"produces": [
"application/json"
@@ -2025,6 +2277,20 @@
"required": true,
"type": "string",
"format": "uuid"
+ },
+ {
+ "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": {
@@ -2041,8 +2307,11 @@
}
}
},
+ "x-ms-pageable": {
+ "nextLinkName": "@nextLink"
+ },
"x-ms-examples": {
- "Query all anomaly detection configurations for specific metric": {
+ "List all anomaly detection configurations for specific metric": {
"$ref": "./examples/getAnomalyDetectionConfigurationsByMetric.json"
}
}
@@ -2079,8 +2348,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 +2570,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 +2622,7 @@
},
"negationOperation": {
"description": "Negation operation",
+ "default": false,
"type": "boolean"
},
"dimensionAnomalyScope": {
@@ -2379,6 +2662,7 @@
},
"description": {
"description": "anomaly alerting configuration description",
+ "default": "",
"type": "string"
},
"crossMetricsOperator": {
@@ -2394,6 +2678,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 +2746,8 @@
"valueFilter": {
"lower": 0.0,
"upper": 1000.0,
- "direction": "Both"
+ "direction": "Both",
+ "type": "Value"
}
}
]
@@ -2469,6 +2762,7 @@
},
"description": {
"description": "anomaly alerting configuration description",
+ "default": "",
"type": "string"
},
"crossMetricsOperator": {
@@ -2484,8 +2778,16 @@
"modelAsString": true
}
},
- "hookIds": {
- "description": "hook unique ids",
+ "splitAlertByDimensions": {
+ "description": "dimensions used to split alert",
+ "uniqueItems": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "hookIds": {
+ "description": "hook unique ids",
"uniqueItems": true,
"type": "array",
"items": {
@@ -2666,6 +2968,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
}
}
},
@@ -2677,6 +2991,12 @@
],
"type": "object",
"properties": {
+ "dataFeedId": {
+ "format": "uuid",
+ "description": "data feed unique id\r\n\r\nonly return for alerting anomaly result",
+ "type": "string",
+ "readOnly": true
+ },
"metricId": {
"format": "uuid",
"description": "metric unique id\r\n\r\nonly return for alerting anomaly result",
@@ -2782,6 +3102,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
}
}
},
@@ -2795,6 +3127,12 @@
],
"type": "object",
"properties": {
+ "dataFeedId": {
+ "format": "uuid",
+ "description": "data feed unique id\r\n\r\nonly return for alerting anomaly result",
+ "type": "string",
+ "readOnly": true
+ },
"metricId": {
"format": "uuid",
"description": "metric unique id\r\n\r\nonly return for alerting incident result",
@@ -3084,6 +3422,7 @@
},
"description": {
"description": "anomaly detection configuration description",
+ "default": "",
"type": "string"
},
"metricId": {
@@ -3222,6 +3561,139 @@
]
}
},
+ "SuppressConditionPatch": {
+ "type": "object",
+ "properties": {
+ "minNumber": {
+ "format": "int32",
+ "description": "min point number, value range : [1, +∞)",
+ "type": "integer"
+ },
+ "minRatio": {
+ "format": "double",
+ "description": "min point ratio, value range : (0, 100]",
+ "type": "number"
+ }
+ }
+ },
+ "SmartDetectionConditionPatch": {
+ "type": "object",
+ "properties": {
+ "sensitivity": {
+ "format": "double",
+ "description": "sensitivity, value range : (0, 100]",
+ "type": "number"
+ },
+ "anomalyDetectorDirection": {
+ "description": "detection direction",
+ "enum": [
+ "Both",
+ "Down",
+ "Up"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AnomalyDetectorDirection",
+ "modelAsString": true
+ }
+ },
+ "suppressCondition": {
+ "$ref": "#/definitions/SuppressConditionPatch"
+ }
+ }
+ },
+ "HardThresholdConditionPatch": {
+ "type": "object",
+ "properties": {
+ "lowerBound": {
+ "format": "double",
+ "description": "lower bound\r\n\r\nshould be specified when anomalyDetectorDirection is Both or Down",
+ "type": "number"
+ },
+ "upperBound": {
+ "format": "double",
+ "description": "upper bound\r\n\r\nshould be specified when anomalyDetectorDirection is Both or Up",
+ "type": "number"
+ },
+ "anomalyDetectorDirection": {
+ "description": "detection direction",
+ "enum": [
+ "Both",
+ "Down",
+ "Up"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AnomalyDetectorDirection",
+ "modelAsString": true
+ }
+ },
+ "suppressCondition": {
+ "$ref": "#/definitions/SuppressConditionPatch"
+ }
+ }
+ },
+ "ChangeThresholdConditionPatch": {
+ "type": "object",
+ "properties": {
+ "changePercentage": {
+ "format": "double",
+ "description": "change percentage, value range : [0, +∞)",
+ "type": "number"
+ },
+ "shiftPoint": {
+ "format": "int32",
+ "description": "shift point, value range : [1, +∞)",
+ "type": "integer"
+ },
+ "withinRange": {
+ "description": "if the withinRange = true, detected data is abnormal when the value falls in the range, in this case anomalyDetectorDirection must be Both\r\nif the withinRange = false, detected data is abnormal when the value falls out of the range",
+ "type": "boolean"
+ },
+ "anomalyDetectorDirection": {
+ "description": "detection direction",
+ "enum": [
+ "Both",
+ "Down",
+ "Up"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AnomalyDetectorDirection",
+ "modelAsString": true
+ }
+ },
+ "suppressCondition": {
+ "$ref": "#/definitions/SuppressConditionPatch"
+ }
+ }
+ },
+ "WholeMetricConfigurationPatch": {
+ "type": "object",
+ "properties": {
+ "conditionOperator": {
+ "description": "condition operator\r\n\r\nshould be specified when combining multiple detection conditions",
+ "enum": [
+ "AND",
+ "OR"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AnomalyDetectionConfigurationLogicType",
+ "modelAsString": true
+ }
+ },
+ "smartDetectionCondition": {
+ "$ref": "#/definitions/SmartDetectionConditionPatch"
+ },
+ "hardThresholdCondition": {
+ "$ref": "#/definitions/HardThresholdConditionPatch"
+ },
+ "changeThresholdCondition": {
+ "$ref": "#/definitions/ChangeThresholdConditionPatch"
+ }
+ }
+ },
"AnomalyDetectionConfigurationPatch": {
"type": "object",
"properties": {
@@ -3231,10 +3703,11 @@
},
"description": {
"description": "anomaly detection configuration description",
+ "default": "",
"type": "string"
},
"wholeMetricConfiguration": {
- "$ref": "#/definitions/WholeMetricConfiguration"
+ "$ref": "#/definitions/WholeMetricConfigurationPatch"
},
"dimensionGroupOverrideConfigurations": {
"description": "detection configuration for series group",
@@ -3254,184 +3727,84 @@
}
},
"example": {
- "name": "Anomaly detection configuration name",
- "description": "Anomaly detection configuration description",
"wholeMetricConfiguration": {
- "conditionOperator": "AND",
"smartDetectionCondition": {
- "sensitivity": 91.0,
- "anomalyDetectorDirection": "Both",
- "suppressCondition": {
- "minNumber": 1,
- "minRatio": 100.0
- }
- },
- "hardThresholdCondition": {
- "lowerBound": 1.0,
- "upperBound": 100.0,
- "anomalyDetectorDirection": "Both",
- "suppressCondition": {
- "minNumber": 1,
- "minRatio": 100.0
- }
+ "sensitivity": 91.0
+ }
+ }
+ }
+ },
+ "AnomalyAlertingConfigurationList": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AnomalyAlertingConfiguration"
},
- "changeThresholdCondition": {
- "changePercentage": 5.0,
- "shiftPoint": 1,
- "withinRange": false,
- "anomalyDetectorDirection": "Both",
- "suppressCondition": {
- "minNumber": 1,
- "minRatio": 100.0
+ "readOnly": true
+ },
+ "@nextLink": {
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DetectionSeriesQuery": {
+ "required": [
+ "endTime",
+ "series",
+ "startTime"
+ ],
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "format": "date-time",
+ "description": "This is inclusive. The maximum number of data points (series number * time range) is 10000.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "This is exclusive. The maximum number of data points (series number * time range) is 10000.",
+ "type": "string"
+ },
+ "series": {
+ "description": "The series to be queried. The identity must be able to define one single time series instead of a group of time series. The maximum number of series is 100.",
+ "uniqueItems": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SeriesIdentity"
+ }
+ }
+ },
+ "example": {
+ "startTime": "2020-01-01T00:00:00Z",
+ "endTime": "2020-02-01T00:00:00Z",
+ "series": [
+ {
+ "dimension": {
+ "category": "Jewelry",
+ "city": "Beijing"
}
}
- },
- "dimensionGroupOverrideConfigurations": [
- {
- "group": {
- "dimension": {
- "city": "Beijing"
- }
- },
- "conditionOperator": "AND",
- "smartDetectionCondition": {
- "sensitivity": 91.0,
- "anomalyDetectorDirection": "Both",
- "suppressCondition": {
- "minNumber": 1,
- "minRatio": 100.0
- }
- },
- "hardThresholdCondition": {
- "lowerBound": 1.0,
- "upperBound": 100.0,
- "anomalyDetectorDirection": "Both",
- "suppressCondition": {
- "minNumber": 1,
- "minRatio": 100.0
- }
- },
- "changeThresholdCondition": {
- "changePercentage": 5.0,
- "shiftPoint": 1,
- "withinRange": false,
- "anomalyDetectorDirection": "Both",
- "suppressCondition": {
- "minNumber": 1,
- "minRatio": 100.0
- }
- }
- }
- ],
- "seriesOverrideConfigurations": [
- {
- "series": {
- "dimension": {
- "category": "Jewelry",
- "city": "Beijing"
- }
- },
- "conditionOperator": "AND",
- "smartDetectionCondition": {
- "sensitivity": 91.0,
- "anomalyDetectorDirection": "Both",
- "suppressCondition": {
- "minNumber": 1,
- "minRatio": 100.0
- }
- },
- "hardThresholdCondition": {
- "lowerBound": 1.0,
- "upperBound": 100.0,
- "anomalyDetectorDirection": "Both",
- "suppressCondition": {
- "minNumber": 1,
- "minRatio": 100.0
- }
- },
- "changeThresholdCondition": {
- "changePercentage": 5.0,
- "shiftPoint": 1,
- "withinRange": false,
- "anomalyDetectorDirection": "Both",
- "suppressCondition": {
- "minNumber": 1,
- "minRatio": 100.0
- }
- }
- }
- ]
- }
- },
- "AnomalyAlertingConfigurationList": {
- "required": [
- "value"
- ],
- "type": "object",
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/AnomalyAlertingConfiguration"
- }
- }
- }
- },
- "DetectionSeriesQuery": {
- "required": [
- "endTime",
- "series",
- "startTime"
- ],
- "type": "object",
- "properties": {
- "startTime": {
- "format": "date-time",
- "description": "start time",
- "type": "string"
- },
- "endTime": {
- "format": "date-time",
- "description": "end time",
- "type": "string"
- },
- "series": {
- "description": "series",
- "uniqueItems": true,
- "type": "array",
- "items": {
- "$ref": "#/definitions/SeriesIdentity"
- }
- }
- },
- "example": {
- "startTime": "2020-01-01T00:00:00Z",
- "endTime": "2020-02-01T00:00:00Z",
- "series": [
- {
- "dimension": {
- "category": "Jewelry",
- "city": "Beijing"
- }
- }
- ]
- }
- },
- "SeriesResult": {
- "required": [
- "expectedValueList",
- "isAnomalyList",
- "lowerBoundaryList",
- "periodList",
- "series",
- "timestampList",
- "upperBoundaryList",
- "valueList"
- ],
- "type": "object",
- "properties": {
- "series": {
- "$ref": "#/definitions/SeriesIdentity"
+ ]
+ }
+ },
+ "SeriesResult": {
+ "required": [
+ "expectedValueList",
+ "isAnomalyList",
+ "lowerBoundaryList",
+ "periodList",
+ "series",
+ "timestampList",
+ "upperBoundaryList",
+ "valueList"
+ ],
+ "type": "object",
+ "properties": {
+ "series": {
+ "$ref": "#/definitions/SeriesIdentity"
},
"timestampList": {
"description": "timestamps of the series",
@@ -3741,100 +4114,459 @@
}
}
},
- "AzureApplicationInsightsParameter": {
+ "AzureSQLConnectionStringParam": {
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "description": "The connection string to access the Azure SQL.",
+ "type": "string"
+ }
+ }
+ },
+ "DataSourceCredential": {
"required": [
- "apiKey",
- "applicationId",
- "azureCloud",
- "query"
+ "dataSourceCredentialName",
+ "dataSourceCredentialType"
],
"type": "object",
"properties": {
- "azureCloud": {
- "description": "Azure cloud environment",
- "type": "string"
+ "dataSourceCredentialType": {
+ "description": "Type of data source credential",
+ "enum": [
+ "AzureSQLConnectionString",
+ "DataLakeGen2SharedKey",
+ "ServicePrincipal",
+ "ServicePrincipalInKV"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataSourceCredentialType",
+ "modelAsString": true
+ }
},
- "applicationId": {
- "description": "Azure Application Insights ID",
- "type": "string"
+ "dataSourceCredentialId": {
+ "format": "uuid",
+ "description": "Unique id of data source credential",
+ "type": "string",
+ "readOnly": true
},
- "apiKey": {
- "description": "API Key",
+ "dataSourceCredentialName": {
+ "description": "Name of data source credential",
"type": "string"
},
- "query": {
- "description": "Query",
+ "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"
}
},
- "Metric": {
+ "AzureSQLConnectionStringCredential": {
"required": [
- "metricName"
+ "parameters"
],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSourceCredential"
+ }
+ ],
"properties": {
- "metricId": {
- "format": "uuid",
- "description": "metric id",
- "type": "string",
- "readOnly": true
- },
- "metricName": {
- "description": "metric name",
+ "parameters": {
+ "$ref": "#/definitions/AzureSQLConnectionStringParam"
+ }
+ },
+ "x-ms-discriminator-value": "AzureSQLConnectionString"
+ },
+ "DataLakeGen2SharedKeyParam": {
+ "type": "object",
+ "properties": {
+ "accountKey": {
+ "description": "The account key to access the Azure Data Lake Storage Gen2.",
+ "type": "string"
+ }
+ }
+ },
+ "DataLakeGen2SharedKeyCredential": {
+ "required": [
+ "parameters"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSourceCredential"
+ }
+ ],
+ "properties": {
+ "parameters": {
+ "$ref": "#/definitions/DataLakeGen2SharedKeyParam"
+ }
+ },
+ "x-ms-discriminator-value": "DataLakeGen2SharedKey"
+ },
+ "ServicePrincipalParam": {
+ "required": [
+ "clientId",
+ "tenantId"
+ ],
+ "type": "object",
+ "properties": {
+ "clientId": {
+ "description": "The client id of the service principal.",
"type": "string"
},
- "metricDisplayName": {
- "description": "metric display name",
- "pattern": "[.a-zA-Z0-9_-]+",
+ "clientSecret": {
+ "description": "The client secret of the service principal.",
"type": "string"
},
- "metricDescription": {
- "description": "metric description",
+ "tenantId": {
+ "description": "The tenant id of the service principal.",
"type": "string"
}
}
},
- "Dimension": {
+ "ServicePrincipalCredential": {
"required": [
- "dimensionName"
+ "parameters"
],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSourceCredential"
+ }
+ ],
"properties": {
- "dimensionName": {
- "description": "dimension name",
+ "parameters": {
+ "$ref": "#/definitions/ServicePrincipalParam"
+ }
+ },
+ "x-ms-discriminator-value": "ServicePrincipal"
+ },
+ "ServicePrincipalInKVParam": {
+ "required": [
+ "keyVaultClientId",
+ "keyVaultEndpoint",
+ "servicePrincipalIdNameInKV",
+ "servicePrincipalSecretNameInKV",
+ "tenantId"
+ ],
+ "type": "object",
+ "properties": {
+ "keyVaultEndpoint": {
+ "description": "The Key Vault endpoint that storing the service principal.",
"type": "string"
},
- "dimensionDisplayName": {
- "description": "dimension display name",
- "pattern": "[.a-zA-Z0-9_-]+",
+ "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"
}
}
},
- "DataFeedDetail": {
+ "ServicePrincipalInKVCredential": {
"required": [
- "dataFeedName",
- "dataSourceType",
- "dataStartFrom",
- "granularityName",
- "metrics"
+ "parameters"
],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSourceCredential"
+ }
+ ],
"properties": {
- "dataSourceType": {
- "description": "data source type",
- "enum": [
- "AzureApplicationInsights",
- "AzureBlob",
- "AzureCosmosDB",
- "AzureDataExplorer",
- "AzureDataLakeStorageGen2",
- "AzureTable",
- "Elasticsearch",
- "HttpRequest",
- "InfluxDB",
- "MongoDB",
+ "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
+ }
+ }
+ },
+ "AzureSQLConnectionStringParamPatch": {
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "description": "The connection string to access the Azure SQL.",
+ "type": "string"
+ }
+ }
+ },
+ "DataSourceCredentialPatch": {
+ "required": [
+ "dataSourceCredentialType"
+ ],
+ "type": "object",
+ "properties": {
+ "dataSourceCredentialType": {
+ "description": "Type of data source credential",
+ "enum": [
+ "AzureSQLConnectionString",
+ "DataLakeGen2SharedKey",
+ "ServicePrincipal",
+ "ServicePrincipalInKV"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataSourceCredentialType",
+ "modelAsString": true
+ }
+ },
+ "dataSourceCredentialName": {
+ "description": "Name of data source credential",
+ "type": "string"
+ },
+ "dataSourceCredentialDescription": {
+ "description": "Description of data source credential",
+ "type": "string"
+ }
+ },
+ "discriminator": "dataSourceCredentialType",
+ "example": {
+ "dataSourceCredentialDescription": "This is a data source credential"
+ }
+ },
+ "AzureSQLConnectionStringCredentialPatch": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSourceCredentialPatch"
+ }
+ ],
+ "properties": {
+ "parameters": {
+ "$ref": "#/definitions/AzureSQLConnectionStringParamPatch"
+ }
+ },
+ "x-ms-discriminator-value": "AzureSQLConnectionString"
+ },
+ "DataLakeGen2SharedKeyParamPatch": {
+ "type": "object",
+ "properties": {
+ "accountKey": {
+ "description": "The account key to access the Azure Data Lake Storage Gen2.",
+ "type": "string"
+ }
+ }
+ },
+ "DataLakeGen2SharedKeyCredentialPatch": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSourceCredentialPatch"
+ }
+ ],
+ "properties": {
+ "parameters": {
+ "$ref": "#/definitions/DataLakeGen2SharedKeyParamPatch"
+ }
+ },
+ "x-ms-discriminator-value": "DataLakeGen2SharedKey"
+ },
+ "ServicePrincipalParamPatch": {
+ "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"
+ }
+ }
+ },
+ "ServicePrincipalCredentialPatch": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSourceCredentialPatch"
+ }
+ ],
+ "properties": {
+ "parameters": {
+ "$ref": "#/definitions/ServicePrincipalParamPatch"
+ }
+ },
+ "x-ms-discriminator-value": "ServicePrincipal"
+ },
+ "ServicePrincipalInKVParamPatch": {
+ "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"
+ }
+ }
+ },
+ "ServicePrincipalInKVCredentialPatch": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSourceCredentialPatch"
+ }
+ ],
+ "properties": {
+ "parameters": {
+ "$ref": "#/definitions/ServicePrincipalInKVParamPatch"
+ }
+ },
+ "x-ms-discriminator-value": "ServicePrincipalInKV"
+ },
+ "AzureApplicationInsightsParameter": {
+ "required": [
+ "query"
+ ],
+ "type": "object",
+ "properties": {
+ "azureCloud": {
+ "description": "The Azure cloud that this Azure Application Insights in",
+ "type": "string"
+ },
+ "applicationId": {
+ "description": "The application id of this Azure Application Insights",
+ "type": "string"
+ },
+ "apiKey": {
+ "description": "The API Key that can access this Azure Application Insights",
+ "type": "string"
+ },
+ "query": {
+ "description": "The statement to query this Azure Application Insights",
+ "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"
+ ],
+ "type": "object",
+ "properties": {
+ "dimensionName": {
+ "description": "dimension name",
+ "type": "string"
+ },
+ "dimensionDisplayName": {
+ "description": "dimension display name",
+ "pattern": "[.a-zA-Z0-9_-]+",
+ "type": "string"
+ }
+ }
+ },
+ "DataFeedDetail": {
+ "required": [
+ "dataFeedName",
+ "dataSourceType",
+ "dataStartFrom",
+ "granularityName",
+ "metrics"
+ ],
+ "type": "object",
+ "properties": {
+ "dataSourceType": {
+ "description": "data source type",
+ "enum": [
+ "AzureApplicationInsights",
+ "AzureBlob",
+ "AzureCosmosDB",
+ "AzureDataExplorer",
+ "AzureDataLakeStorageGen2",
+ "AzureEventHubs",
+ "AzureLogAnalytics",
+ "AzureTable",
+ "InfluxDB",
+ "MongoDB",
"MySql",
"PostgreSql",
"SqlServer"
@@ -3858,6 +4590,7 @@
},
"dataFeedDescription": {
"description": "data feed description",
+ "default": "",
"type": "string"
},
"granularityName": {
@@ -3869,7 +4602,6 @@
"Daily",
"Hourly",
"Minutely",
- "Secondly",
"Custom"
],
"type": "string",
@@ -3901,6 +4633,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 +4667,7 @@
},
"needRollup": {
"description": "mark if the data feed need rollup",
- "default": "NeedRollup",
+ "default": "NoRollup",
"enum": [
"NoRollup",
"NeedRollup",
@@ -3948,6 +4681,7 @@
},
"rollUpMethod": {
"description": "roll up method",
+ "default": "None",
"enum": [
"None",
"Sum",
@@ -4054,13 +4788,35 @@
},
"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"
}
},
"discriminator": "dataSourceType",
"example": {
"dataSourceParameter": {
- "connectionString": "Server=your_sql_server,1433;Initial Catalog=your_database;Persist Security Info=False;User ID=your_user;Password=your_password;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;",
+ "connectionString": "Server=PlaceholderSqlServer,1433;Initial Catalog=PlaceholderDatabase;User ID=PlaceholderUserName;Password=PlaceholderPassword;",
"query": "select * from your_table where timestamp = @StartTime"
},
"dataFeedName": "Sample - cost/revenue - city/category",
@@ -4097,143 +4853,143 @@
"rollUpMethod": "Sum",
"allUpIdentification": "__SUM__",
"fillMissingPointType": "SmartFilling",
- "viewMode": "Private"
+ "viewMode": "Private",
+ "authenticationType": "Basic"
}
},
"AzureApplicationInsightsDataFeed": {
+ "required": [
+ "dataSourceParameter"
+ ],
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetail"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/AzureApplicationInsightsParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/AzureApplicationInsightsParameter"
+ }
+ },
"x-ms-discriminator-value": "AzureApplicationInsights"
},
"AzureBlobParameter": {
"required": [
"blobTemplate",
- "connectionString",
"container"
],
"type": "object",
"properties": {
"connectionString": {
- "description": "Azure Blob connection string",
+ "description": "The connection string of this Azure Blob",
"type": "string"
},
"container": {
- "description": "Container",
+ "description": "The container name in this Azure Blob",
"type": "string"
},
"blobTemplate": {
- "description": "Blob Template",
+ "description": "The path template in this container",
"type": "string"
}
}
},
"AzureBlobDataFeed": {
+ "required": [
+ "dataSourceParameter"
+ ],
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetail"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/AzureBlobParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/AzureBlobParameter"
+ }
+ },
"x-ms-discriminator-value": "AzureBlob"
},
"AzureCosmosDBParameter": {
"required": [
"collectionId",
- "connectionString",
"database",
"sqlQuery"
],
"type": "object",
"properties": {
"connectionString": {
- "description": "Azure CosmosDB connection string",
+ "description": "The connection string of this Azure CosmosDB",
"type": "string"
},
"sqlQuery": {
- "description": "Query script",
+ "description": "The statement to query this collection",
"type": "string"
},
"database": {
- "description": "Database name",
+ "description": "A database name in this Azure CosmosDB",
"type": "string"
},
"collectionId": {
- "description": "Collection id",
+ "description": "A collection id in this database",
"type": "string"
}
}
},
"AzureCosmosDBDataFeed": {
+ "required": [
+ "dataSourceParameter"
+ ],
+ "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",
"properties": {
"connectionString": {
- "description": "Database connection string",
+ "description": "The connection string of this database",
"type": "string"
},
"query": {
- "description": "Query script",
+ "description": "The script to query this database",
"type": "string"
}
}
},
"AzureDataExplorerDataFeed": {
+ "required": [
+ "dataSourceParameter"
+ ],
+ "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",
"fileTemplate"
@@ -4241,299 +4997,292 @@
"type": "object",
"properties": {
"accountName": {
- "description": "Account name",
+ "description": "The account name of this Azure Data Lake",
"type": "string"
},
"accountKey": {
- "description": "Account key",
+ "description": "The account key that can access this Azure Data Lake",
"type": "string"
},
"fileSystemName": {
- "description": "File system name (Container)",
+ "description": "The file system (container) name in this Azure Data Lake",
"type": "string"
},
"directoryTemplate": {
- "description": "Directory template",
+ "description": "The directory template under this file system",
"type": "string"
},
"fileTemplate": {
- "description": "File template",
+ "description": "The file template",
"type": "string"
}
}
},
"AzureDataLakeStorageGen2DataFeed": {
- "allOf": [
+ "required": [
+ "dataSourceParameter"
+ ],
+ "type": "object",
+ "allOf": [
{
"$ref": "#/definitions/DataFeedDetail"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/AzureDataLakeStorageGen2Parameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/AzureDataLakeStorageGen2Parameter"
+ }
+ },
"x-ms-discriminator-value": "AzureDataLakeStorageGen2"
},
- "AzureTableParameter": {
+ "AzureEventHubsParameter": {
"required": [
- "connectionString",
- "query",
- "table"
+ "consumerGroup"
],
"type": "object",
"properties": {
"connectionString": {
- "description": "Azure Table connection string",
+ "description": "The connection string of this Azure Event Hubs",
"type": "string"
},
- "table": {
- "description": "Table name",
- "type": "string"
- },
- "query": {
- "description": "Query script",
+ "consumerGroup": {
+ "description": "The consumer group to be used in this data feed",
"type": "string"
}
}
},
- "AzureTableDataFeed": {
+ "AzureEventHubsDataFeed": {
+ "required": [
+ "dataSourceParameter"
+ ],
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetail"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/AzureTableParameter"
- }
- }
}
],
- "x-ms-discriminator-value": "AzureTable"
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/AzureEventHubsParameter"
+ }
+ },
+ "x-ms-discriminator-value": "AzureEventHubs"
},
- "ElasticsearchParameter": {
+ "AzureLogAnalyticsParameter": {
"required": [
- "authHeader",
- "host",
- "port",
- "query"
+ "query",
+ "workspaceId"
],
"type": "object",
"properties": {
- "host": {
- "description": "Host",
+ "tenantId": {
+ "description": "The tenant id of service principal that have access to this Log Analytics",
+ "type": "string"
+ },
+ "clientId": {
+ "description": "The client id of service principal that have access to this Log Analytics",
"type": "string"
},
- "port": {
- "description": "Port",
+ "clientSecret": {
+ "description": "The client secret of service principal that have access to this Log Analytics",
"type": "string"
},
- "authHeader": {
- "description": "Authorization header",
+ "workspaceId": {
+ "description": "The workspace id of this Log Analytics",
"type": "string"
},
"query": {
- "description": "Query",
+ "description": "The KQL (Kusto Query Language) query to fetch data from this Log Analytics",
"type": "string"
}
}
},
- "ElasticsearchDataFeed": {
+ "AzureLogAnalyticsDataFeed": {
+ "required": [
+ "dataSourceParameter"
+ ],
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetail"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/ElasticsearchParameter"
- }
- }
}
],
- "x-ms-discriminator-value": "Elasticsearch"
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/AzureLogAnalyticsParameter"
+ }
+ },
+ "x-ms-discriminator-value": "AzureLogAnalytics"
},
- "HttpRequestParameter": {
+ "AzureTableParameter": {
"required": [
- "httpHeader",
- "httpMethod",
- "payload",
- "url"
+ "query",
+ "table"
],
"type": "object",
"properties": {
- "url": {
- "description": "HTTP URL",
- "type": "string"
- },
- "httpHeader": {
- "description": "HTTP header",
+ "connectionString": {
+ "description": "The connection string of this Azure Table",
"type": "string"
},
- "httpMethod": {
- "description": "HTTP method",
+ "table": {
+ "description": "A table name in this Azure Table",
"type": "string"
},
- "payload": {
- "description": "HTTP request body",
+ "query": {
+ "description": "The statement to query this table. Please find syntax and details from Azure Table documents.",
"type": "string"
}
}
},
- "HttpRequestDataFeed": {
+ "AzureTableDataFeed": {
+ "required": [
+ "dataSourceParameter"
+ ],
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetail"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/HttpRequestParameter"
- }
- }
}
],
- "x-ms-discriminator-value": "HttpRequest"
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/AzureTableParameter"
+ }
+ },
+ "x-ms-discriminator-value": "AzureTable"
},
"InfluxDBParameter": {
"required": [
- "connectionString",
- "database",
- "password",
- "query",
- "userName"
+ "query"
],
"type": "object",
"properties": {
"connectionString": {
- "description": "InfluxDB connection string",
+ "description": "The connection string of this InfluxDB",
"type": "string"
},
"database": {
- "description": "Database name",
+ "description": "A database name",
"type": "string"
},
"userName": {
- "description": "Database access user",
+ "description": "The user name of the account that can access this database",
"type": "string"
},
"password": {
- "description": "Database access password",
+ "description": "The password of the account that can access this database",
"type": "string"
},
"query": {
- "description": "Query script",
+ "description": "The script to query this database",
"type": "string"
}
}
},
"InfluxDBDataFeed": {
+ "required": [
+ "dataSourceParameter"
+ ],
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetail"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/InfluxDBParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/InfluxDBParameter"
+ }
+ },
"x-ms-discriminator-value": "InfluxDB"
},
"MySqlDataFeed": {
+ "required": [
+ "dataSourceParameter"
+ ],
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetail"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/SqlSourceParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/SqlSourceParameter"
+ }
+ },
"x-ms-discriminator-value": "MySql"
},
"PostgreSqlDataFeed": {
+ "required": [
+ "dataSourceParameter"
+ ],
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetail"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/SqlSourceParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/SqlSourceParameter"
+ }
+ },
"x-ms-discriminator-value": "PostgreSql"
},
"SQLServerDataFeed": {
+ "required": [
+ "dataSourceParameter"
+ ],
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetail"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/SqlSourceParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/SqlSourceParameter"
+ }
+ },
"x-ms-discriminator-value": "SqlServer"
},
"MongoDBParameter": {
"required": [
- "command",
- "connectionString",
- "database"
+ "command"
],
"type": "object",
"properties": {
"connectionString": {
- "description": "MongoDB connection string",
+ "description": "The connection string of this MongoDB",
"type": "string"
},
"database": {
- "description": "Database name",
+ "description": "A database name in this MongoDB",
"type": "string"
},
"command": {
- "description": "Query script",
+ "description": "The script to query this database",
"type": "string"
}
}
},
"MongoDBDataFeed": {
+ "required": [
+ "dataSourceParameter"
+ ],
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetail"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/MongoDBParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/MongoDBParameter"
+ }
+ },
"x-ms-discriminator-value": "MongoDB"
},
"DataFeedList": {
@@ -4552,6 +5301,27 @@
}
}
},
+ "AzureApplicationInsightsParameterPatch": {
+ "type": "object",
+ "properties": {
+ "azureCloud": {
+ "description": "The Azure cloud that this Azure Application Insights in",
+ "type": "string"
+ },
+ "applicationId": {
+ "description": "The application id of this Azure Application Insights",
+ "type": "string"
+ },
+ "apiKey": {
+ "description": "The API Key that can access this Azure Application Insights",
+ "type": "string"
+ },
+ "query": {
+ "description": "The statement to query this Azure Application Insights",
+ "type": "string"
+ }
+ }
+ },
"DataFeedDetailPatch": {
"required": [
"dataSourceType"
@@ -4566,9 +5336,9 @@
"AzureCosmosDB",
"AzureDataExplorer",
"AzureDataLakeStorageGen2",
+ "AzureEventHubs",
+ "AzureLogAnalytics",
"AzureTable",
- "Elasticsearch",
- "HttpRequest",
"InfluxDB",
"MongoDB",
"MySql",
@@ -4721,222 +5491,386 @@
"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/AzureApplicationInsightsParameterPatch"
+ }
+ },
"x-ms-discriminator-value": "AzureApplicationInsights"
},
+ "AzureBlobParameterPatch": {
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "description": "The connection string of this Azure Blob",
+ "type": "string"
+ },
+ "container": {
+ "description": "The container name in this Azure Blob",
+ "type": "string"
+ },
+ "blobTemplate": {
+ "description": "The path template in this container",
+ "type": "string"
+ }
+ }
+ },
"AzureBlobDataFeedPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetailPatch"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/AzureBlobParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/AzureBlobParameterPatch"
+ }
+ },
"x-ms-discriminator-value": "AzureBlob"
},
+ "AzureCosmosDBParameterPatch": {
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "description": "The connection string of this Azure CosmosDB",
+ "type": "string"
+ },
+ "sqlQuery": {
+ "description": "The statement to query this collection",
+ "type": "string"
+ },
+ "database": {
+ "description": "A database name in this Azure CosmosDB",
+ "type": "string"
+ },
+ "collectionId": {
+ "description": "A collection id in this database",
+ "type": "string"
+ }
+ }
+ },
"AzureCosmosDBDataFeedPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetailPatch"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/AzureCosmosDBParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/AzureCosmosDBParameterPatch"
+ }
+ },
"x-ms-discriminator-value": "AzureCosmosDB"
},
+ "SQLSourceParameterPatch": {
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "description": "The connection string of this database",
+ "type": "string"
+ },
+ "query": {
+ "description": "The script to query this database",
+ "type": "string"
+ }
+ }
+ },
"AzureDataExplorerDataFeedPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetailPatch"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/SqlSourceParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/SQLSourceParameterPatch"
+ }
+ },
"x-ms-discriminator-value": "AzureDataExplorer"
},
+ "AzureDataLakeStorageGen2ParameterPatch": {
+ "type": "object",
+ "properties": {
+ "accountName": {
+ "description": "The account name of this Azure Data Lake",
+ "type": "string"
+ },
+ "accountKey": {
+ "description": "The account key that can access this Azure Data Lake",
+ "type": "string"
+ },
+ "fileSystemName": {
+ "description": "The file system (container) name in this Azure Data Lake",
+ "type": "string"
+ },
+ "directoryTemplate": {
+ "description": "The directory template under this file system",
+ "type": "string"
+ },
+ "fileTemplate": {
+ "description": "The file template",
+ "type": "string"
+ }
+ }
+ },
"AzureDataLakeStorageGen2DataFeedPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetailPatch"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/AzureDataLakeStorageGen2Parameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/AzureDataLakeStorageGen2ParameterPatch"
+ }
+ },
"x-ms-discriminator-value": "AzureDataLakeStorageGen2"
},
- "AzureTableDataFeedPatch": {
+ "AzureEventHubsParameterPatch": {
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "description": "The connection string of this Azure Event Hubs",
+ "type": "string"
+ },
+ "consumerGroup": {
+ "description": "The consumer group to be used in this data feed",
+ "type": "string"
+ }
+ }
+ },
+ "AzureEventHubsDataFeedPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetailPatch"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/AzureTableParameter"
- }
- }
}
],
- "x-ms-discriminator-value": "AzureTable"
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/AzureEventHubsParameterPatch"
+ }
+ },
+ "x-ms-discriminator-value": "AzureEventHubs"
+ },
+ "AzureLogAnalyticsParameterPatch": {
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "description": "The tenant id of service principal that have access to this Log Analytics",
+ "type": "string"
+ },
+ "clientId": {
+ "description": "The client id of service principal that have access to this Log Analytics",
+ "type": "string"
+ },
+ "clientSecret": {
+ "description": "The client secret of service principal that have access to this Log Analytics",
+ "type": "string"
+ },
+ "workspaceId": {
+ "description": "The workspace id of this Log Analytics",
+ "type": "string"
+ },
+ "query": {
+ "description": "The KQL (Kusto Query Language) query to fetch data from this Log Analytics",
+ "type": "string"
+ }
+ }
},
- "ElasticsearchDataFeedPatch": {
+ "AzureLogAnalyticsDataFeedPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetailPatch"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/ElasticsearchParameter"
- }
- }
}
],
- "x-ms-discriminator-value": "Elasticsearch"
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/AzureLogAnalyticsParameterPatch"
+ }
+ },
+ "x-ms-discriminator-value": "AzureLogAnalytics"
},
- "HttpRequestDataFeedPatch": {
+ "AzureTableParameterPatch": {
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "description": "The connection string of this Azure Table",
+ "type": "string"
+ },
+ "table": {
+ "description": "A table name in this Azure Table",
+ "type": "string"
+ },
+ "query": {
+ "description": "The statement to query this table. Please find syntax and details from Azure Table documents.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureTableDataFeedPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetailPatch"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/HttpRequestParameter"
- }
- }
}
],
- "x-ms-discriminator-value": "HttpRequest"
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/AzureTableParameterPatch"
+ }
+ },
+ "x-ms-discriminator-value": "AzureTable"
+ },
+ "InfluxDBParameterPatch": {
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "description": "The connection string of this InfluxDB",
+ "type": "string"
+ },
+ "database": {
+ "description": "A database name",
+ "type": "string"
+ },
+ "userName": {
+ "description": "The user name of the account that can access this database",
+ "type": "string"
+ },
+ "password": {
+ "description": "The password of the account that can access this database",
+ "type": "string"
+ },
+ "query": {
+ "description": "The script to query this database",
+ "type": "string"
+ }
+ }
},
"InfluxDBDataFeedPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetailPatch"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/InfluxDBParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/InfluxDBParameterPatch"
+ }
+ },
"x-ms-discriminator-value": "InfluxDB"
},
"MySqlDataFeedPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetailPatch"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/SqlSourceParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/SQLSourceParameterPatch"
+ }
+ },
"x-ms-discriminator-value": "MySql"
},
"PostgreSqlDataFeedPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetailPatch"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/SqlSourceParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/SQLSourceParameterPatch"
+ }
+ },
"x-ms-discriminator-value": "PostgreSql"
},
"SQLServerDataFeedPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetailPatch"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/SqlSourceParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/SQLSourceParameterPatch"
+ }
+ },
"example": {
- "dataFeedName": "Sample - cost/revenue - city/category (modified)",
- "viewers": [
- "viewer@company.example"
- ]
+ "dataFeedName": "Sample - cost/revenue - city/category"
},
"x-ms-discriminator-value": "SqlServer"
},
+ "MongoDBParameterPatch": {
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "description": "The connection string of this MongoDB",
+ "type": "string"
+ },
+ "database": {
+ "description": "A database name in this MongoDB",
+ "type": "string"
+ },
+ "command": {
+ "description": "The script to query this database",
+ "type": "string"
+ }
+ }
+ },
"MongoDBDataFeedPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetailPatch"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/MongoDBParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/MongoDBParameterPatch"
+ }
+ },
"x-ms-discriminator-value": "MongoDB"
},
"AnomalyFeedbackValue": {
@@ -5025,37 +5959,40 @@
"discriminator": "feedbackType"
},
"AnomalyFeedback": {
+ "required": [
+ "endTime",
+ "startTime",
+ "value"
+ ],
+ "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 +6031,32 @@
}
},
"ChangePointFeedback": {
+ "required": [
+ "endTime",
+ "startTime",
+ "value"
+ ],
+ "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 +6072,30 @@
}
},
"CommentFeedback": {
+ "required": [
+ "value"
+ ],
+ "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 +6126,20 @@
}
},
"PeriodFeedback": {
+ "required": [
+ "value"
+ ],
+ "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 +6264,12 @@
},
"description": {
"description": "hook description",
+ "default": "",
"type": "string"
},
"externalLink": {
"description": "hook external link",
+ "default": "",
"type": "string"
},
"admins": {
@@ -5334,26 +6278,26 @@
"type": "array",
"items": {
"type": "string"
- },
- "readOnly": true
+ }
}
},
"discriminator": "hookType"
},
"EmailHookInfo": {
+ "required": [
+ "hookParameter"
+ ],
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/HookInfo"
- },
- {
- "type": "object",
- "properties": {
- "hookParameter": {
- "$ref": "#/definitions/EmailHookParameter"
- }
- }
}
],
+ "properties": {
+ "hookParameter": {
+ "$ref": "#/definitions/EmailHookParameter"
+ }
+ },
"x-ms-discriminator-value": "Email"
},
"WebhookHookParameter": {
@@ -5367,11 +6311,11 @@
"type": "string"
},
"username": {
- "description": "basic authentication",
+ "description": "(Deprecated) The username, if using basic authentication",
"type": "string"
},
"password": {
- "description": "basic authentication",
+ "description": "(Deprecated) The password, if using basic authentication",
"type": "string"
},
"headers": {
@@ -5382,29 +6326,30 @@
}
},
"certificateKey": {
- "description": "client certificate",
+ "description": "The certificate key/URL, if using client certificate, please read documents for more informations.",
"type": "string"
},
"certificatePassword": {
- "description": "client certificate password",
+ "description": "The certificate password, if using client certificate, please read documents for more informations.",
"type": "string"
}
}
},
"WebhookHookInfo": {
+ "required": [
+ "hookParameter"
+ ],
+ "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"
@@ -5433,6 +6378,19 @@
}
}
},
+ "EmailHookParameterPatch": {
+ "type": "object",
+ "properties": {
+ "toList": {
+ "description": "Email TO: list.",
+ "uniqueItems": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
"HookInfoPatch": {
"required": [
"hookType"
@@ -5469,45 +6427,71 @@
"type": "array",
"items": {
"type": "string"
- },
- "readOnly": true
+ }
}
},
"discriminator": "hookType"
},
"EmailHookInfoPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/HookInfoPatch"
+ }
+ ],
+ "properties": {
+ "hookParameter": {
+ "$ref": "#/definitions/EmailHookParameterPatch"
+ }
+ },
+ "x-ms-discriminator-value": "Email"
+ },
+ "WebhookHookParameterPatch": {
+ "type": "object",
+ "properties": {
+ "endpoint": {
+ "description": "API address, will be called when alert is triggered, only support POST method via SSL",
+ "type": "string"
},
- {
+ "username": {
+ "description": "(Deprecated) The username, if using basic authentication",
+ "type": "string"
+ },
+ "password": {
+ "description": "(Deprecated) The password, if using basic authentication",
+ "type": "string"
+ },
+ "headers": {
+ "description": "custom headers in api call",
"type": "object",
- "properties": {
- "hookParameter": {
- "$ref": "#/definitions/EmailHookParameter"
- }
+ "additionalProperties": {
+ "type": "string"
}
+ },
+ "certificateKey": {
+ "description": "The certificate key, if using client certificate",
+ "type": "string"
+ },
+ "certificatePassword": {
+ "description": "The certificate password, if using client certificate",
+ "type": "string"
}
- ],
- "x-ms-discriminator-value": "Email"
+ }
},
"WebhookHookInfoPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/HookInfoPatch"
- },
- {
- "type": "object",
- "properties": {
- "hookParameter": {
- "$ref": "#/definitions/WebhookHookParameter"
- }
- }
}
],
+ "properties": {
+ "hookParameter": {
+ "$ref": "#/definitions/WebhookHookParameterPatch"
+ }
+ },
"example": {
- "hookName": "A webhook (modified)",
- "description": "This is a webhook. (modified)"
+ "description": "This is a webhook."
},
"x-ms-discriminator-value": "Webhook"
},
@@ -5635,16 +6619,16 @@
"properties": {
"startTime": {
"format": "date-time",
- "description": "start time of query a time series data, and format should be yyyy-MM-ddThh:mm:ssZ",
+ "description": "start time of query a time series data, and format should be yyyy-MM-ddThh:mm:ssZ. The maximum number of data points (series number * time range) is 10000.",
"type": "string"
},
"endTime": {
"format": "date-time",
- "description": "start time of query a time series data, and format should be yyyy-MM-ddThh:mm:ssZ",
+ "description": "start time of query a time series data, and format should be yyyy-MM-ddThh:mm:ssZ. The maximum number of data points (series number * time range) is 10000.",
"type": "string"
},
"series": {
- "description": "query specific series",
+ "description": "query specific series. The maximum number of series is 100.",
"type": "array",
"items": {
"type": "object",
@@ -5806,16 +6790,18 @@
}
},
"AnomalyDetectionConfigurationList": {
- "required": [
- "value"
- ],
"type": "object",
"properties": {
"value": {
"type": "array",
"items": {
"$ref": "#/definitions/AnomalyDetectionConfiguration"
- }
+ },
+ "readOnly": true
+ },
+ "@nextLink": {
+ "type": "string",
+ "readOnly": true
}
}
},
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..053fc92f966b 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
@@ -5,7 +5,7 @@
"Content-Type": "application/json",
"body": {
"dataSourceParameter": {
- "connectionString": "Server=your_sql_server,1433;Initial Catalog=your_database;Persist Security Info=False;User ID=your_user;Password=your_password;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;",
+ "connectionString": "Server=PlaceholderSqlServer,1433;Initial Catalog=PlaceholderDatabase;User ID=PlaceholderUserName;Password=PlaceholderPassword;",
"query": "select * from your_table where timestamp = @StartTime"
},
"dataFeedName": "Sample - cost/revenue - city/category",
@@ -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..2946dbc626e4 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
@@ -28,6 +28,7 @@
"body": {
"value": [
{
+ "dataFeedId": "11111111-1111-1111-1111-000000000001",
"metricId": "22222222-2222-2222-2222-000000000001",
"anomalyDetectionConfigurationId": "33333333-3333-3333-3333-000000000001",
"timestamp": "2020-01-01T00:00:00.000Z",
@@ -39,7 +40,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..8c180c49e4bb 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
@@ -11,6 +11,7 @@
"body": {
"value": [
{
+ "dataFeedId": "11111111-1111-1111-1111-000000000001",
"metricId": "22222222-2222-2222-2222-000000000001",
"anomalyDetectionConfigurationId": "33333333-3333-3333-3333-000000000001",
"timestamp": "2020-01-01T00:00:00.000Z",
@@ -22,7 +23,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..1cb2a96171eb
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getCredential.json
@@ -0,0 +1,22 @@
+{
+ "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"
+ },
+ "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..d59b03e0249c 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
@@ -9,7 +9,7 @@
"headers": {},
"body": {
"dataSourceParameter": {
- "connectionString": "Server=your_sql_server,1433;Initial Catalog=your_database;Persist Security Info=False;User ID=your_user;Password=your_password;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;",
+ "connectionString": "Server=PlaceholderSqlServer,1433;Initial Catalog=PlaceholderDatabase;User ID=PlaceholderUserName;Password=PlaceholderPassword;",
"query": "select * from your_table where timestamp = @StartTime"
},
"dataFeedId": "11111111-1111-1111-1111-000000000001",
@@ -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..3d1018da8b54 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
@@ -24,6 +24,7 @@
"body": {
"value": [
{
+ "dataFeedId": "11111111-1111-1111-1111-000000000001",
"metricId": "22222222-2222-2222-2222-000000000001",
"anomalyDetectionConfigurationId": "33333333-3333-3333-3333-000000000001",
"incidentId": "iiiiiiiiiiii",
@@ -37,7 +38,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..35c20aa92f71 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
@@ -10,6 +10,7 @@
"body": {
"value": [
{
+ "dataFeedId": "11111111-1111-1111-1111-000000000001",
"metricId": "22222222-2222-2222-2222-000000000001",
"anomalyDetectionConfigurationId": "33333333-3333-3333-3333-000000000001",
"incidentId": "iiiiiiiiiiii",
@@ -23,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/getIncidentsFromAlertByAnomalyAlertingConfiguration.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getIncidentsFromAlertByAnomalyAlertingConfiguration.json
index 7338f495b54e..64d19d69a90e 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
@@ -11,6 +11,7 @@
"body": {
"value": [
{
+ "dataFeedId": "11111111-1111-1111-1111-000000000001",
"metricId": "22222222-2222-2222-2222-000000000001",
"anomalyDetectionConfigurationId": "33333333-3333-3333-3333-000000000001",
"incidentId": "iiiiiiiiiiii",
@@ -24,7 +25,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..5c4c10be8c67 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,11 +12,11 @@
"200": {
"headers": {},
"body": {
- "@nextLink": "https://localhost/dataFeeds?$skip=1&$top=1",
+ "@nextLink": "https://localhost/dataFeeds?$skip=1&$maxpagesize=1",
"value": [
{
"dataSourceParameter": {
- "connectionString": "Server=your_sql_server,1433;Initial Catalog=your_database;Persist Security Info=False;User ID=your_user;Password=your_password;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;",
+ "connectionString": "Server=PlaceholderSqlServer,1433;Initial Catalog=PlaceholderDatabase;User ID=PlaceholderUserName;Password=PlaceholderPassword;",
"query": "select * from your_table where timestamp = @StartTime"
},
"dataFeedId": "11111111-1111-1111-1111-000000000001",
@@ -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/updateAnomalyAlertingConfiguration.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/updateAnomalyAlertingConfiguration.json
index 22d1df25b83d..0a5efd2f49d4 100644
--- a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/updateAnomalyAlertingConfiguration.json
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/updateAnomalyAlertingConfiguration.json
@@ -54,6 +54,57 @@
}
},
"responses": {
- "204": {}
+ "200": {
+ "headers": {},
+ "body": {
+ "anomalyAlertingConfigurationId": "44444444-4444-4444-4444-000000000001",
+ "name": "alerting configuration name",
+ "description": "this is an anomaly alerting configuration",
+ "crossMetricsOperator": "AND",
+ "hookIds": [
+ "00000000-0000-0000-0000-000000000001"
+ ],
+ "metricAlertingConfigurations": [
+ {
+ "anomalyDetectionConfigurationId": "33333333-3333-3333-3333-000000000001",
+ "anomalyScopeType": "All",
+ "negationOperation": false,
+ "severityFilter": {
+ "minAlertSeverity": "Medium",
+ "maxAlertSeverity": "High"
+ },
+ "snoozeFilter": {
+ "autoSnooze": 0,
+ "snoozeScope": "Series",
+ "onlyForSuccessive": true
+ }
+ },
+ {
+ "anomalyDetectionConfigurationId": "33333333-3333-3333-3333-000000000002",
+ "anomalyScopeType": "Dimension",
+ "negationOperation": false,
+ "dimensionAnomalyScope": {
+ "dimension": {
+ "city": "Beijing"
+ }
+ },
+ "severityFilter": {
+ "minAlertSeverity": "Low",
+ "maxAlertSeverity": "High"
+ },
+ "snoozeFilter": {
+ "autoSnooze": 0,
+ "snoozeScope": "Series",
+ "onlyForSuccessive": true
+ },
+ "valueFilter": {
+ "lower": 0.0,
+ "upper": 1000.0,
+ "direction": "Both"
+ }
+ }
+ ]
+ }
+ }
}
}
diff --git a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/updateAnomalyDetectionConfiguration.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/updateAnomalyDetectionConfiguration.json
index 638e88d5724a..47a9941dd059 100644
--- a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/updateAnomalyDetectionConfiguration.json
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/updateAnomalyDetectionConfiguration.json
@@ -5,45 +5,22 @@
"configurationId": "33333333-3333-3333-3333-000000000001",
"Content-Type": "application/merge-patch+json",
"body": {
- "name": "Anomaly detection configuration name",
- "description": "Anomaly detection configuration description",
"wholeMetricConfiguration": {
- "conditionOperator": "AND",
"smartDetectionCondition": {
- "sensitivity": 91.0,
- "anomalyDetectorDirection": "Both",
- "suppressCondition": {
- "minNumber": 1,
- "minRatio": 100.0
- }
- },
- "hardThresholdCondition": {
- "lowerBound": 1.0,
- "upperBound": 100.0,
- "anomalyDetectorDirection": "Both",
- "suppressCondition": {
- "minNumber": 1,
- "minRatio": 100.0
- }
- },
- "changeThresholdCondition": {
- "changePercentage": 5.0,
- "shiftPoint": 1,
- "withinRange": false,
- "anomalyDetectorDirection": "Both",
- "suppressCondition": {
- "minNumber": 1,
- "minRatio": 100.0
- }
+ "sensitivity": 91.0
}
- },
- "dimensionGroupOverrideConfigurations": [
- {
- "group": {
- "dimension": {
- "city": "Beijing"
- }
- },
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "anomalyDetectionConfigurationId": "33333333-3333-3333-3333-000000000001",
+ "name": "Anomaly detection configuration name",
+ "description": "Anomaly detection configuration description",
+ "metricId": "22222222-2222-2222-2222-000000000001",
+ "wholeMetricConfiguration": {
"conditionOperator": "AND",
"smartDetectionCondition": {
"sensitivity": 91.0,
@@ -72,49 +49,83 @@
"minRatio": 100.0
}
}
- }
- ],
- "seriesOverrideConfigurations": [
- {
- "series": {
- "dimension": {
- "category": "Jewelry",
- "city": "Beijing"
- }
- },
- "conditionOperator": "AND",
- "smartDetectionCondition": {
- "sensitivity": 91.0,
- "anomalyDetectorDirection": "Both",
- "suppressCondition": {
- "minNumber": 1,
- "minRatio": 100.0
- }
- },
- "hardThresholdCondition": {
- "lowerBound": 1.0,
- "upperBound": 100.0,
- "anomalyDetectorDirection": "Both",
- "suppressCondition": {
- "minNumber": 1,
- "minRatio": 100.0
+ },
+ "dimensionGroupOverrideConfigurations": [
+ {
+ "group": {
+ "dimension": {
+ "city": "Beijing"
+ }
+ },
+ "conditionOperator": "AND",
+ "smartDetectionCondition": {
+ "sensitivity": 91.0,
+ "anomalyDetectorDirection": "Both",
+ "suppressCondition": {
+ "minNumber": 1,
+ "minRatio": 100.0
+ }
+ },
+ "hardThresholdCondition": {
+ "lowerBound": 1.0,
+ "upperBound": 100.0,
+ "anomalyDetectorDirection": "Both",
+ "suppressCondition": {
+ "minNumber": 1,
+ "minRatio": 100.0
+ }
+ },
+ "changeThresholdCondition": {
+ "changePercentage": 5.0,
+ "shiftPoint": 1,
+ "withinRange": false,
+ "anomalyDetectorDirection": "Both",
+ "suppressCondition": {
+ "minNumber": 1,
+ "minRatio": 100.0
+ }
}
- },
- "changeThresholdCondition": {
- "changePercentage": 5.0,
- "shiftPoint": 1,
- "withinRange": false,
- "anomalyDetectorDirection": "Both",
- "suppressCondition": {
- "minNumber": 1,
- "minRatio": 100.0
+ }
+ ],
+ "seriesOverrideConfigurations": [
+ {
+ "series": {
+ "dimension": {
+ "category": "Jewelry",
+ "city": "Beijing"
+ }
+ },
+ "conditionOperator": "AND",
+ "smartDetectionCondition": {
+ "sensitivity": 91.0,
+ "anomalyDetectorDirection": "Both",
+ "suppressCondition": {
+ "minNumber": 1,
+ "minRatio": 100.0
+ }
+ },
+ "hardThresholdCondition": {
+ "lowerBound": 1.0,
+ "upperBound": 100.0,
+ "anomalyDetectorDirection": "Both",
+ "suppressCondition": {
+ "minNumber": 1,
+ "minRatio": 100.0
+ }
+ },
+ "changeThresholdCondition": {
+ "changePercentage": 5.0,
+ "shiftPoint": 1,
+ "withinRange": false,
+ "anomalyDetectorDirection": "Both",
+ "suppressCondition": {
+ "minNumber": 1,
+ "minRatio": 100.0
+ }
}
}
- }
- ]
+ ]
+ }
}
- },
- "responses": {
- "204": {}
}
}
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..d530227374e8
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/updateCredential.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "credentialId": "01234567-8901-2345-6789-012345678901",
+ "Content-Type": "application/merge-patch+json",
+ "body": {
+ "dataSourceCredentialDescription": "This is a data source credential"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "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"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/updateDataFeed.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/updateDataFeed.json
index 54febb327084..9201dbb3b951 100644
--- a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/updateDataFeed.json
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/updateDataFeed.json
@@ -5,13 +5,65 @@
"dataFeedId": "01234567-8901-2345-6789-012345678901",
"Content-Type": "application/merge-patch+json",
"body": {
- "dataFeedName": "Sample - cost/revenue - city/category (modified)",
- "viewers": [
- "viewer@company.example"
- ]
+ "dataFeedName": "Sample - cost/revenue - city/category"
}
},
"responses": {
- "204": {}
+ "200": {
+ "headers": {},
+ "body": {
+ "dataSourceParameter": {
+ "connectionString": "Server=PlaceholderSqlServer,1433;Initial Catalog=PlaceholderDatabase;User ID=PlaceholderUserName;Password=PlaceholderPassword;",
+ "query": "select * from your_table where timestamp = @StartTime"
+ },
+ "dataFeedId": "11111111-1111-1111-1111-000000000001",
+ "dataFeedName": "Sample - cost/revenue - city/category",
+ "dataFeedDescription": "This is a sample data feed.",
+ "granularityName": "Daily",
+ "metrics": [
+ {
+ "metricId": "22222222-2222-2222-2222-000000000001",
+ "metricName": "cost",
+ "metricDisplayName": "cost"
+ },
+ {
+ "metricId": "22222222-2222-2222-2222-000000000002",
+ "metricName": "revenue",
+ "metricDisplayName": "revenue"
+ }
+ ],
+ "dimension": [
+ {
+ "dimensionName": "category",
+ "dimensionDisplayName": "category"
+ },
+ {
+ "dimensionName": "city",
+ "dimensionDisplayName": "city"
+ }
+ ],
+ "timestampColumn": "timestamp",
+ "dataStartFrom": "2020-01-01T00:00:00.000Z",
+ "dataSourceType": "SqlServer",
+ "startOffsetInSeconds": 86400,
+ "maxConcurrency": 5,
+ "minRetryIntervalInSeconds": 3600,
+ "stopRetryAfterInSeconds": 604800,
+ "needRollup": "NeedRollup",
+ "rollUpMethod": "Sum",
+ "allUpIdentification": "__SUM__",
+ "fillMissingPointType": "SmartFilling",
+ "viewMode": "Private",
+ "admins": [
+ "admin@company.example"
+ ],
+ "viewers": [],
+ "isAdmin": true,
+ "creator": "admin@company.example",
+ "status": "Active",
+ "createdTime": "2020-03-01T00:00:00.000Z",
+ "authenticationType": "Basic"
+ }
+ }
}
}
diff --git a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/updateHook.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/updateHook.json
index a6e131d7568e..03c526da7e45 100644
--- a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/updateHook.json
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/updateHook.json
@@ -5,11 +5,25 @@
"hookId": "01234567-8901-2345-6789-012345678901",
"Content-Type": "application/merge-patch+json",
"body": {
- "hookName": "A webhook (modified)",
- "description": "This is a webhook. (modified)"
+ "description": "This is a webhook."
}
},
"responses": {
- "204": {}
+ "200": {
+ "headers": {},
+ "body": {
+ "hookParameter": {
+ "endpoint": "https://localhost/demo/post"
+ },
+ "hookId": "00000000-0000-0000-0000-000000000001",
+ "hookName": "A webhook",
+ "hookType": "Webhook",
+ "description": "This is a webhook.",
+ "externalLink": "",
+ "admins": [
+ "admin@company.example"
+ ]
+ }
+ }
}
}
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/preview/v1.1-preview.1/Personalizer.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/Personalizer.json
new file mode 100644
index 000000000000..ef0bf3bcda8a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/Personalizer.json
@@ -0,0 +1,1843 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Personalizer Client v1.1-preview.1",
+ "description": "Personalizer Service is an Azure Cognitive Service that makes it easy to target content and experiences without complex pre-analysis or cleanup of past data. Given a context and featurized content, the Personalizer Service returns which content item to show to users in rewardActionId. As rewards are sent in response to the use of rewardActionId, the reinforcement learning algorithm will improve the model and improve performance of future rank calls.",
+ "version": "v1.1-preview.1"
+ },
+ "host": "localhost:5001",
+ "basePath": "/personalizer/v1.1-preview.1",
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/configurations/service": {
+ "put": {
+ "tags": [
+ "ConfigurationsV1Dot1Preview1"
+ ],
+ "summary": "Update Service Configuration.",
+ "description": "Update the Personalizer service configuration.",
+ "operationId": "ServiceConfiguration_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "body",
+ "name": "config",
+ "description": "The personalizer service configuration.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServiceConfiguration"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ServiceConfiguration"
+ }
+ },
+ "default": {
+ "description": "Updating defaultReward, rewardWaitTime and rewardAggregation when changing learning mode from Online to Apprentice mode and vice versa is not allowed. Make the mode change and then change the additional settings with an additional API call.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful ServiceConfiguration_Update request": {
+ "$ref": "./examples/ServiceConfiguration_Update.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ConfigurationsV1Dot1Preview1"
+ ],
+ "summary": "Get Service Configuration.",
+ "description": "Get the Personalizer service configuration.",
+ "operationId": "ServiceConfiguration_Get",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ServiceConfiguration"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful ServiceConfiguration_Get request": {
+ "$ref": "./examples/ServiceConfiguration_Get.json"
+ }
+ }
+ }
+ },
+ "/configurations/policy": {
+ "get": {
+ "tags": [
+ "ConfigurationsV1Dot1Preview1"
+ ],
+ "summary": "Get Policy.",
+ "description": "Get the Learning Settings currently used by the Personalizer service.",
+ "operationId": "Policy_Get",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PolicyContract"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Policy_Get request": {
+ "$ref": "./examples/Policy_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ConfigurationsV1Dot1Preview1"
+ ],
+ "summary": "Update Policy.",
+ "description": "Update the Learning Settings that the Personalizer service will use to train models.",
+ "operationId": "Policy_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "body",
+ "name": "policy",
+ "description": "The learning settings.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PolicyContract"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PolicyContract"
+ }
+ },
+ "default": {
+ "description": "Invalid policy configuration.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Policy_Update request": {
+ "$ref": "./examples/Policy_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ConfigurationsV1Dot1Preview1"
+ ],
+ "summary": "Reset Policy.",
+ "description": "Resets the learning settings of the Personalizer service to default.",
+ "operationId": "Policy_Reset",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PolicyContract"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Policy_Reset request": {
+ "$ref": "./examples/Policy_Reset.json"
+ }
+ }
+ }
+ },
+ "/configurations/applyFromEvaluation": {
+ "post": {
+ "tags": [
+ "ConfigurationsV1Dot1Preview1"
+ ],
+ "summary": "Apply Learning Settings and model from a pre-existing Offline Evaluation, making them the current online Learning Settings and model and replacing the previous ones.",
+ "operationId": "Evaluation_Apply",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PolicyReferenceContract"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Learning Settings not found in evaluation.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Evaluation_Apply request": {
+ "$ref": "./examples/Evaluation_Apply.json"
+ }
+ }
+ }
+ },
+ "/evaluations/{evaluationId}": {
+ "delete": {
+ "tags": [
+ "EvaluationsV1Dot1Preview1"
+ ],
+ "summary": "Delete Evaluation.",
+ "description": "Delete the Offline Evaluation associated with the Id.",
+ "operationId": "Evaluations_Delete",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "evaluationId",
+ "description": "Id of the Offline Evaluation to delete.",
+ "required": true,
+ "type": "string",
+ "maxLength": 256
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ }
+ },
+ "x-ms-examples": {
+ "Successful Evaluations_Delete request": {
+ "$ref": "./examples/Evaluations_Delete.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "EvaluationsV1Dot1Preview1"
+ ],
+ "summary": "Get Evaluation.",
+ "description": "Get the Offline Evaluation associated with the Id.",
+ "operationId": "Evaluations_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "evaluationId",
+ "description": "Id of the Offline Evaluation.",
+ "required": true,
+ "type": "string",
+ "maxLength": 256
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Evaluation"
+ }
+ },
+ "default": {
+ "description": "Offline Evaluation not found.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Evaluations_Get request": {
+ "$ref": "./examples/Evaluations_Get.json"
+ }
+ }
+ }
+ },
+ "/evaluations": {
+ "get": {
+ "tags": [
+ "EvaluationsV1Dot1Preview1"
+ ],
+ "summary": "List Offline Evaluations.",
+ "description": "List of all Offline Evaluations.",
+ "operationId": "Evaluations_List",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Evaluation"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Evaluations_List request": {
+ "$ref": "./examples/Evaluations_List.json"
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "EvaluationsV1Dot1Preview1"
+ ],
+ "summary": "Create Offline Evaluation.",
+ "description": "Submit a new Offline Evaluation job.",
+ "operationId": "Evaluations_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "body",
+ "name": "evaluation",
+ "description": "The Offline Evaluation job definition.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EvaluationContract"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Evaluation"
+ },
+ "headers": {
+ "Location": {
+ "description": "Location of the Offline Evaluation status and data.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Invalid evaluation contract.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Evaluations_Create request": {
+ "$ref": "./examples/Evaluations_Create.json"
+ }
+ }
+ }
+ },
+ "/events/{eventId}/reward": {
+ "post": {
+ "tags": [
+ "Events"
+ ],
+ "summary": "Post Reward.",
+ "description": "Report reward between 0 and 1 that resulted from using the action specified in rewardActionId, for the specified event.",
+ "operationId": "Events_Reward",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "eventId",
+ "description": "The event id this reward applies to.",
+ "required": true,
+ "type": "string",
+ "maxLength": 256
+ },
+ {
+ "in": "body",
+ "name": "reward",
+ "description": "The reward should be a floating point number, typically between 0 and 1.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RewardRequest"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Invalid reward request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Events_Reward request": {
+ "$ref": "./examples/Events_Reward.json"
+ }
+ }
+ }
+ },
+ "/events/{eventId}/activate": {
+ "post": {
+ "tags": [
+ "Events"
+ ],
+ "summary": "Activate Event.",
+ "description": "Report that the specified event was actually used (e.g. by being displayed to the user) and a reward should be expected for it.",
+ "operationId": "Events_Activate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "eventId",
+ "description": "The event ID to be activated.",
+ "required": true,
+ "type": "string",
+ "maxLength": 256
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Invalid activate event request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Events_Activate request": {
+ "$ref": "./examples/Events_Activate.json"
+ }
+ }
+ }
+ },
+ "/logs": {
+ "delete": {
+ "tags": [
+ "Logs"
+ ],
+ "summary": "Deletes Logs.",
+ "description": "Delete all logs of Rank and Reward calls stored by Personalizer.",
+ "operationId": "Log_Delete",
+ "responses": {
+ "204": {
+ "description": "Success"
+ }
+ },
+ "x-ms-examples": {
+ "Successful Log_Delete request": {
+ "$ref": "./examples/Log_Delete.json"
+ }
+ }
+ }
+ },
+ "/logs/properties": {
+ "get": {
+ "tags": [
+ "Logs"
+ ],
+ "summary": "Get Log Properties.",
+ "description": "Get properties of the Personalizer logs.",
+ "operationId": "Log_GetProperties",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/LogsProperties"
+ }
+ },
+ "default": {
+ "description": "Log properties not found.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Log_GetProperties request": {
+ "$ref": "./examples/Log_GetProperties.json"
+ }
+ }
+ }
+ },
+ "/model": {
+ "get": {
+ "tags": [
+ "Model"
+ ],
+ "summary": "Get Model.",
+ "description": "Get the model file generated by Personalizer service.",
+ "operationId": "Model_Get",
+ "produces": [
+ "application/octet-stream"
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "type": "file"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Model_Get request": {
+ "$ref": "./examples/Model_Get.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Model"
+ ],
+ "summary": "Reset Model.",
+ "description": "Resets the model file generated by Personalizer service.",
+ "operationId": "Model_Reset",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Model reset failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Model_Reset request": {
+ "$ref": "./examples/Model_Reset.json"
+ }
+ }
+ }
+ },
+ "/model/properties": {
+ "get": {
+ "tags": [
+ "Model"
+ ],
+ "summary": "Get Model Properties.",
+ "description": "Get properties of the model file generated by Personalizer service.",
+ "operationId": "Model_GetProperties",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ModelProperties"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Model_GetProperties request": {
+ "$ref": "./examples/Model_GetProperties.json"
+ }
+ }
+ }
+ },
+ "/multislot/events/{eventId}/reward": {
+ "post": {
+ "tags": [
+ "MultiSlotEvents"
+ ],
+ "summary": "Post multi-slot Rewards.",
+ "description": "Report reward that resulted from using the action specified in rewardActionId for the slot.",
+ "operationId": "MultiSlotEvents_Reward",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "eventId",
+ "description": "The event id this reward applies to.",
+ "required": true,
+ "type": "string",
+ "maxLength": 256
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "List of slot id and reward values. The reward should be a floating point number, typically between 0 and 1.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MultiSlotRewardRequest"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Invalid reward request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful MultiSlotEvents_Reward request": {
+ "$ref": "./examples/MultiSlotEvents_Reward.json"
+ }
+ }
+ }
+ },
+ "/multislot/events/{eventId}/activate": {
+ "post": {
+ "tags": [
+ "MultiSlotEvents"
+ ],
+ "summary": "Activate multi-slot Event.",
+ "description": "Report that the specified event was actually used or displayed to the user and a rewards should be expected for it.",
+ "operationId": "MultiSlotEvents_Activate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "eventId",
+ "description": "The event ID this activation applies to.",
+ "required": true,
+ "type": "string",
+ "maxLength": 256
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Invalid activate event request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful MultiSlotEvents_Activate request": {
+ "$ref": "./examples/MultiSlotEvents_Activate.json"
+ }
+ }
+ }
+ },
+ "/multislot/rank": {
+ "post": {
+ "tags": [
+ "MultiSlotRank"
+ ],
+ "summary": "Post multi-slot Rank.",
+ "description": "Submit a Personalizer multi-slot rank request. Receives a context, a list of actions, and a list of slots. Returns which of the provided actions should be used in each slot, in each rewardActionId.",
+ "operationId": "MultiSlot_Rank",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "body",
+ "name": "body",
+ "description": "A Personalizer multi-slot Rank request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MultiSlotRankRequest"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MultiSlotRankResponse"
+ }
+ },
+ "default": {
+ "description": "Invalid request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful MultiSlot_Rank request": {
+ "$ref": "./examples/MultiSlot_Rank.json"
+ }
+ }
+ }
+ },
+ "/rank": {
+ "post": {
+ "tags": [
+ "Rank"
+ ],
+ "summary": "Post Rank.",
+ "description": "Submit a Personalizer rank request. Receives a context and a list of actions. Returns which of the provided actions should be used by your application, in rewardActionId.",
+ "operationId": "Rank",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "body",
+ "name": "rankRequest",
+ "description": "A Personalizer Rank request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RankRequest"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/RankResponse"
+ }
+ },
+ "default": {
+ "description": "Invalid request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Rank request": {
+ "$ref": "./examples/Rank.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ApprenticeLearningMetrics": {
+ "required": [
+ "numberOfEvents",
+ "numberOfImitatedEvents",
+ "sumOfImitatedRewards",
+ "sumOfRewards"
+ ],
+ "type": "object",
+ "properties": {
+ "numberOfEvents": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "sumOfRewards": {
+ "format": "float",
+ "type": "number"
+ },
+ "numberOfImitatedEvents": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "sumOfImitatedRewards": {
+ "format": "float",
+ "type": "number"
+ }
+ }
+ },
+ "ApprenticeModeMetrics": {
+ "required": [
+ "lastProcessedEventTime",
+ "numberOfEvents",
+ "numberOfImitatedEvents",
+ "startTime",
+ "sumOfImitatedRewards",
+ "sumOfRewards"
+ ],
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "lastProcessedEventTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "lastBatchMetrics": {
+ "$ref": "#/definitions/ApprenticeLearningMetrics"
+ },
+ "numberOfEvents": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "sumOfRewards": {
+ "format": "float",
+ "type": "number"
+ },
+ "numberOfImitatedEvents": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "sumOfImitatedRewards": {
+ "format": "float",
+ "type": "number"
+ }
+ }
+ },
+ "ServiceConfiguration": {
+ "description": "The configuration of the service.",
+ "required": [
+ "defaultReward",
+ "explorationPercentage",
+ "logRetentionDays",
+ "modelExportFrequency",
+ "rewardAggregation",
+ "rewardWaitTime"
+ ],
+ "type": "object",
+ "properties": {
+ "rewardWaitTime": {
+ "format": "duration",
+ "description": "The time span waited until a request is marked with the default reward\r\nand should be between 5 seconds and 2 days.\r\nFor example, PT5M (5 mins). For information about the time format,\r\nsee http://en.wikipedia.org/wiki/ISO_8601#Durations",
+ "type": "string"
+ },
+ "defaultReward": {
+ "format": "float",
+ "description": "The reward given if a reward is not received within the specified wait time.",
+ "maximum": 1,
+ "minimum": -1,
+ "type": "number"
+ },
+ "rewardAggregation": {
+ "description": "The function used to process rewards, if multiple reward scores are received before rewardWaitTime is over.",
+ "maxLength": 256,
+ "type": "string"
+ },
+ "explorationPercentage": {
+ "format": "float",
+ "description": "The percentage of rank responses that will use exploration.",
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "modelExportFrequency": {
+ "format": "duration",
+ "description": "Personalizer will start using the most updated trained model for online ranks automatically every specified time period.\r\nFor example, PT5M (5 mins). For information about the time format,\r\nsee http://en.wikipedia.org/wiki/ISO_8601#Durations",
+ "type": "string"
+ },
+ "logMirrorEnabled": {
+ "description": "Flag indicates whether log mirroring is enabled.",
+ "type": "boolean"
+ },
+ "logMirrorSasUri": {
+ "description": "Azure storage account container SAS URI for log mirroring.",
+ "type": "string"
+ },
+ "logRetentionDays": {
+ "format": "int32",
+ "description": "Number of days historical logs are to be maintained. -1 implies the logs will never be deleted.",
+ "maximum": 2147483647,
+ "minimum": -1,
+ "type": "integer"
+ },
+ "lastConfigurationEditDate": {
+ "format": "date-time",
+ "description": "Last time model training configuration was updated",
+ "type": "string"
+ },
+ "learningMode": {
+ "description": "Learning Modes for Personalizer",
+ "enum": [
+ "Online",
+ "Apprentice",
+ "LoggingOnly"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LearningMode",
+ "modelAsString": true
+ }
+ },
+ "latestApprenticeModeMetrics": {
+ "$ref": "#/definitions/ApprenticeModeMetrics"
+ },
+ "isAutoOptimizationEnabled": {
+ "description": "Flag indicating whether Personalizer will automatically optimize Learning Settings by running Offline Evaluations periodically.",
+ "type": "boolean"
+ },
+ "autoOptimizationFrequency": {
+ "format": "duration",
+ "description": "Frequency of automatic optimization. Only relevant if IsAutoOptimizationEnabled is true.\r\nFor example, PT5M (5 mins). For information about the time format,\r\n\\r\\nsee http://en.wikipedia.org/wiki/ISO_8601#Durations",
+ "type": "string"
+ },
+ "autoOptimizationStartDate": {
+ "format": "date-time",
+ "description": "Date when the first automatic optimization evaluation must be performed. Only relevant if IsAutoOptimizationEnabled is true.",
+ "type": "string"
+ }
+ }
+ },
+ "InternalError": {
+ "description": "An object containing more specific information than the parent object about the error.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Detailed error code.",
+ "type": "string"
+ },
+ "innererror": {
+ "$ref": "#/definitions/InternalError"
+ }
+ }
+ },
+ "PersonalizerError": {
+ "description": "The error object.",
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error Codes returned by Personalizer",
+ "enum": [
+ "BadRequest",
+ "InvalidServiceConfiguration",
+ "InvalidLearningModeServiceConfiguration",
+ "InvalidPolicyConfiguration",
+ "InvalidPolicyContract",
+ "InvalidEvaluationContract",
+ "DuplicateCustomPolicyNames",
+ "NoLogsExistInDateRange",
+ "LogsSizeExceedAllowedLimit",
+ "InvalidRewardRequest",
+ "InvalidEventIdToActivate",
+ "InvalidRankRequest",
+ "InvalidExportLogsRequest",
+ "InvalidContainer",
+ "InvalidModelMetadata",
+ "ApprenticeModeNeverTurnedOn",
+ "MissingAppId",
+ "InvalidRewardWaitTime",
+ "InvalidMultiSlotApiAccess",
+ "ModelFileAccessDenied",
+ "ProblemTypeIncompatibleWithAutoOptimization",
+ "ResourceNotFound",
+ "FrontEndNotFound",
+ "EvaluationNotFound",
+ "LearningSettingsNotFound",
+ "EvaluationModelNotFound",
+ "LogsPropertiesNotFound",
+ "ModelRankingError",
+ "InternalServerError",
+ "RankNullResponse",
+ "UpdateConfigurationFailed",
+ "ModelResetFailed",
+ "ModelPublishFailed",
+ "ModelMetadataUpdateFailed",
+ "OperationNotAllowed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PersonalizerErrorCode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "BadRequest",
+ "description": "Request could not be understood by the server."
+ },
+ {
+ "value": "InvalidServiceConfiguration",
+ "description": "Invalid service configuration."
+ },
+ {
+ "value": "InvalidLearningModeServiceConfiguration",
+ "description": "Updating defaultReward, rewardWaitTime and rewardAggregation when changing learning mode from Online to Apprentice mode and vice versa is not allowed. Make the mode change and then change the additional settings with an additional API call."
+ },
+ {
+ "value": "InvalidPolicyConfiguration",
+ "description": "Invalid policy configuration."
+ },
+ {
+ "value": "InvalidPolicyContract",
+ "description": "Invalid policy contract."
+ },
+ {
+ "value": "InvalidEvaluationContract",
+ "description": "Invalid evaluation contract."
+ },
+ {
+ "value": "DuplicateCustomPolicyNames",
+ "description": "Custom policy names should be unique."
+ },
+ {
+ "value": "NoLogsExistInDateRange",
+ "description": "No logs exist in date range."
+ },
+ {
+ "value": "LogsSizeExceedAllowedLimit",
+ "description": "Total size of logs exceed allowed limit."
+ },
+ {
+ "value": "InvalidRewardRequest",
+ "description": "Invalid reward request."
+ },
+ {
+ "value": "InvalidEventIdToActivate",
+ "description": "Invalid activate event request."
+ },
+ {
+ "value": "InvalidRankRequest",
+ "description": "Invalid request."
+ },
+ {
+ "value": "InvalidExportLogsRequest",
+ "description": "Invalid request."
+ },
+ {
+ "value": "InvalidContainer",
+ "description": "SAS Uri must be the Uri to a container that has write permissions."
+ },
+ {
+ "value": "InvalidModelMetadata",
+ "description": "Invalid model metadata."
+ },
+ {
+ "value": "ApprenticeModeNeverTurnedOn",
+ "description": "Apprentice mode never turned on."
+ },
+ {
+ "value": "MissingAppId",
+ "description": "AppId is missing in the header."
+ },
+ {
+ "value": "InvalidRewardWaitTime",
+ "description": "Reward wait time should be between 5 seconds and 2 days"
+ },
+ {
+ "value": "InvalidMultiSlotApiAccess",
+ "description": "Multi-slot feature is currently disabled. Please follow multi-slot Personalizer documentation to update your loop settings to enable multi-slot functionality."
+ },
+ {
+ "value": "ModelFileAccessDenied",
+ "description": "Key vault Key used for customer managed key cannot be accessed."
+ },
+ {
+ "value": "ProblemTypeIncompatibleWithAutoOptimization",
+ "description": "Auto-optimization is not compatible with multi-slot personalization."
+ },
+ {
+ "value": "ResourceNotFound",
+ "description": "Requested resource does not exist on the server."
+ },
+ {
+ "value": "FrontEndNotFound",
+ "description": "Front end not found."
+ },
+ {
+ "value": "EvaluationNotFound",
+ "description": "Offline Evaluation not found."
+ },
+ {
+ "value": "LearningSettingsNotFound",
+ "description": "Learning Settings not found in evaluation."
+ },
+ {
+ "value": "EvaluationModelNotFound",
+ "description": "Model not found in evaluation."
+ },
+ {
+ "value": "LogsPropertiesNotFound",
+ "description": "Log properties not found."
+ },
+ {
+ "value": "ModelRankingError",
+ "description": "Error while ranking actions using model. Please verify the learning settings are valid."
+ },
+ {
+ "value": "InternalServerError",
+ "description": "A generic error has occurred on the server."
+ },
+ {
+ "value": "RankNullResponse",
+ "description": "Rank call returned null response."
+ },
+ {
+ "value": "UpdateConfigurationFailed",
+ "description": "Failed to update configuration."
+ },
+ {
+ "value": "ModelResetFailed",
+ "description": "Model reset failed."
+ },
+ {
+ "value": "ModelPublishFailed",
+ "description": "Model publish failed."
+ },
+ {
+ "value": "ModelMetadataUpdateFailed",
+ "description": "Model metadata update failed."
+ },
+ {
+ "value": "OperationNotAllowed",
+ "description": "This operation is not allowed at this time."
+ }
+ ]
+ }
+ },
+ "message": {
+ "description": "A message explaining the error reported by the service.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Error source element.",
+ "type": "string"
+ },
+ "details": {
+ "description": "An array of details about specific errors that led to this reported error.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PersonalizerError"
+ }
+ },
+ "innerError": {
+ "$ref": "#/definitions/InternalError"
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Used to return an error to the client",
+ "required": [
+ "error"
+ ],
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/PersonalizerError"
+ }
+ }
+ },
+ "PolicyContract": {
+ "description": "Learning settings specifying how to train the model.",
+ "required": [
+ "arguments",
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the learning settings.",
+ "maxLength": 256,
+ "type": "string"
+ },
+ "arguments": {
+ "description": "Arguments of the learning settings.",
+ "maxLength": 1024,
+ "type": "string"
+ }
+ }
+ },
+ "PolicyReferenceContract": {
+ "description": "Reference to the policy within the evaluation.",
+ "required": [
+ "evaluationId",
+ "policyName"
+ ],
+ "type": "object",
+ "properties": {
+ "evaluationId": {
+ "description": "Evaluation Id of the evaluation.",
+ "maxLength": 256,
+ "type": "string"
+ },
+ "policyName": {
+ "description": "Name of the learning settings.",
+ "maxLength": 256,
+ "type": "string"
+ }
+ }
+ },
+ "PolicyResultSummary": {
+ "description": "This class contains the summary of evaluating a policy on a counterfactual evaluation.",
+ "type": "object",
+ "properties": {
+ "timeStamp": {
+ "format": "date-time",
+ "description": "Timestamp of the aggregation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "ipsEstimatorNumerator": {
+ "format": "float",
+ "description": "Numerator for IPS estimator.",
+ "type": "number",
+ "readOnly": true
+ },
+ "ipsEstimatorDenominator": {
+ "format": "float",
+ "description": "Denominator for IPS estimator.",
+ "type": "number",
+ "readOnly": true
+ },
+ "snipsEstimatorDenominator": {
+ "format": "float",
+ "description": "Denominator for SNIPS estimator.",
+ "type": "number",
+ "readOnly": true
+ },
+ "aggregateTimeWindow": {
+ "format": "duration",
+ "description": "Time window for aggregation.\r\nFor example, PT5M (5 mins). For information about the time format,\r\nsee http://en.wikipedia.org/wiki/ISO_8601#Durations",
+ "type": "string",
+ "readOnly": true
+ },
+ "nonZeroProbability": {
+ "format": "float",
+ "description": "Probability of non-zero values for the Policy evaluation.",
+ "type": "number"
+ },
+ "sumOfSquares": {
+ "format": "float",
+ "description": "Sum of Squares for the Policy evaluation results.",
+ "type": "number",
+ "readOnly": true
+ },
+ "confidenceInterval": {
+ "format": "float",
+ "description": "Gaussian confidence interval for the Policy evaluation.",
+ "type": "number",
+ "readOnly": true
+ },
+ "averageReward": {
+ "format": "float",
+ "description": "Average reward.",
+ "type": "number",
+ "readOnly": true
+ }
+ }
+ },
+ "PolicyResult": {
+ "description": "This class contains the Learning Settings information and the results of the Offline Evaluation using that policy.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the Learning Settings.",
+ "type": "string",
+ "readOnly": true
+ },
+ "arguments": {
+ "description": "The arguments of the Learning Settings.",
+ "type": "string",
+ "readOnly": true
+ },
+ "policySource": {
+ "description": "The source of the Learning Settings.",
+ "enum": [
+ "Online",
+ "Baseline",
+ "Random",
+ "Custom",
+ "OfflineExperimentation"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PolicySource",
+ "modelAsString": true
+ }
+ },
+ "summary": {
+ "description": "The aggregate results of the Offline Evaluation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyResultSummary"
+ },
+ "readOnly": true
+ },
+ "totalSummary": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyResultSummary"
+ }
+ ],
+ "readOnly": true
+ }
+ }
+ },
+ "Evaluation": {
+ "description": "A counterfactual evaluation.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ID of the evaluation.",
+ "maxLength": 256,
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the evaluation.",
+ "maxLength": 256,
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time of the evaluation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time of the evaluation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "jobId": {
+ "description": "The ID of the job processing the evaluation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The status of the job processing the evaluation.",
+ "enum": [
+ "completed",
+ "pending",
+ "failed",
+ "notSubmitted",
+ "timeout",
+ "optimalPolicyApplied",
+ "onlinePolicyRetained"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "EvaluationJobStatus",
+ "modelAsString": true
+ }
+ },
+ "policyResults": {
+ "description": "The results of the evaluation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyResult"
+ }
+ },
+ "featureImportance": {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "evaluationType": {
+ "enum": [
+ "Manual",
+ "Auto"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EvaluationType",
+ "modelAsString": true
+ }
+ },
+ "optimalPolicy": {
+ "type": "string"
+ },
+ "creationTime": {
+ "format": "date-time",
+ "type": "string"
+ }
+ }
+ },
+ "EvaluationContract": {
+ "description": "A counterfactual evaluation.",
+ "required": [
+ "endTime",
+ "name",
+ "policies",
+ "startTime"
+ ],
+ "type": "object",
+ "properties": {
+ "enableOfflineExperimentation": {
+ "description": "True if the evaluation should explore for a more optimal learning settings.",
+ "type": "boolean"
+ },
+ "name": {
+ "description": "The name of the evaluation.",
+ "maxLength": 256,
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time of the evaluation.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The end time of the evaluation.",
+ "type": "string"
+ },
+ "policies": {
+ "description": "Additional learning settings to evaluate.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyContract"
+ }
+ }
+ }
+ },
+ "RewardRequest": {
+ "description": "Reward given to a rank response.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "format": "float",
+ "description": "Reward to be assigned to an action. Value is a float calculated by your application, typically between 0 and 1, and must be between -1 and 1.",
+ "type": "number"
+ }
+ }
+ },
+ "DateRange": {
+ "description": "A date range starting at From and ending at To.",
+ "type": "object",
+ "properties": {
+ "from": {
+ "format": "date-time",
+ "description": "Start date for the range.",
+ "type": "string",
+ "readOnly": true
+ },
+ "to": {
+ "format": "date-time",
+ "description": "End date for the range.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "LogsProperties": {
+ "description": "Properties related to data used to train the model.",
+ "type": "object",
+ "properties": {
+ "dateRange": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DateRange"
+ }
+ ],
+ "readOnly": true
+ }
+ }
+ },
+ "ModelProperties": {
+ "description": "Properties related to the trained model.",
+ "type": "object",
+ "properties": {
+ "creationTime": {
+ "format": "date-time",
+ "description": "Creation time of the model.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastModifiedTime": {
+ "format": "date-time",
+ "description": "Last time the model was modified.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SlotReward": {
+ "required": [
+ "slotId",
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "slotId": {
+ "description": "Slot id for which we are sending the reward.",
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "value": {
+ "format": "float",
+ "description": "Reward to be assigned to slotId. Value should be between -1 and 1 inclusive.",
+ "type": "number"
+ }
+ }
+ },
+ "MultiSlotRewardRequest": {
+ "description": "Reward given to a list of slots.",
+ "required": [
+ "reward"
+ ],
+ "type": "object",
+ "properties": {
+ "reward": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SlotReward"
+ }
+ }
+ }
+ },
+ "RankableAction": {
+ "description": "An action with its associated features used for ranking.",
+ "required": [
+ "features",
+ "id"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Id of the action.",
+ "maxLength": 256,
+ "type": "string"
+ },
+ "features": {
+ "description": "List of dictionaries containing features.",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
+ }
+ },
+ "SlotRequest": {
+ "description": "A slot with it's associated features and list of excluded actions",
+ "required": [
+ "baselineAction",
+ "id"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Slot ID",
+ "type": "string"
+ },
+ "features": {
+ "description": "List of dictionaries containing slot features.",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ },
+ "excludedActions": {
+ "description": "List of excluded action Ids.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "baselineAction": {
+ "description": "The 'baseline action' ID for the slot.\r\nThe BaselineAction is the Id of the Action your application would use in that slot if Personalizer didn't exist.\r\nBaselineAction must be defined for every slot.\r\nBaselineAction should never be part of ExcludedActions.\r\nEach slot must have a unique BaselineAction which corresponds to an an action from the event's Actions list.",
+ "type": "string"
+ }
+ }
+ },
+ "MultiSlotRankRequest": {
+ "required": [
+ "actions",
+ "slots"
+ ],
+ "type": "object",
+ "properties": {
+ "contextFeatures": {
+ "description": "Features of the context used for Personalizer as a\r\ndictionary of dictionaries. This is determined by your application, and\r\ntypically includes features about the current user, their\r\ndevice, profile information, aggregated data about time and date, etc.\r\nFeatures should not include personally identifiable information (PII),\r\nunique UserIDs, or precise timestamps.",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ },
+ "actions": {
+ "description": "The set of actions the Personalizer service can pick from.\r\nThe set should not contain more than 50 actions.\r\nThe order of the actions does not affect the rank result but the order\r\nshould match the sequence your application would have used to display them.\r\nThe first item in the array will be used as Baseline item in Offline Evaluations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RankableAction"
+ }
+ },
+ "slots": {
+ "description": "The set of slots the Personalizer service should select actions for.\r\nThe set should not contain more than 50 slots.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SlotRequest"
+ }
+ },
+ "eventId": {
+ "description": "Optionally pass an eventId that uniquely identifies this Rank event.\r\nIf null, the service generates a unique eventId. The eventId will be used for\r\nassociating this request with its reward, as well as seeding the pseudo-random\r\ngenerator when making a Personalizer call.",
+ "maxLength": 256,
+ "type": "string"
+ },
+ "deferActivation": {
+ "description": "Send false if it is certain the rewardActionId in rank results will be shown to the user, therefore\r\nPersonalizer will expect a Reward call, otherwise it will assign the default\r\nReward to the event. Send true if it is possible the user will not see the action specified in the rank results,\r\n(e.g. because the page is rendering later, or the Rank results may be overridden by code further downstream).\r\nYou must call the Activate Event API if the event output is shown to users, otherwise Rewards will be ignored.",
+ "default": false,
+ "type": "boolean"
+ }
+ }
+ },
+ "SlotResponse": {
+ "required": [
+ "id"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Id is the slot ID.",
+ "maxLength": 256,
+ "type": "string"
+ },
+ "rewardActionId": {
+ "description": "RewardActionID is the action ID recommended by Personalizer.",
+ "maxLength": 256,
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "MultiSlotRankResponse": {
+ "type": "object",
+ "properties": {
+ "slots": {
+ "description": "Each slot has a corresponding rewardActionID which is the action ID recommended by Personalizer.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SlotResponse"
+ },
+ "readOnly": true
+ },
+ "eventId": {
+ "description": "The eventId for the round trip from request to response.",
+ "maxLength": 256,
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "RankRequest": {
+ "description": "Request a set of actions to be ranked by the Personalizer service.",
+ "required": [
+ "actions"
+ ],
+ "type": "object",
+ "properties": {
+ "contextFeatures": {
+ "description": "Features of the context used for Personalizer as a\r\ndictionary of dictionaries. This is determined by your application, and\r\ntypically includes features about the current user, their\r\ndevice, profile information, aggregated data about time and date, etc.\r\nFeatures should not include personally identifiable information (PII),\r\nunique UserIDs, or precise timestamps.",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ },
+ "actions": {
+ "description": "The set of actions the Personalizer service can pick from.\r\nThe set should not contain more than 50 actions.\r\nThe order of the actions does not affect the rank result but the order\r\nshould match the sequence your application would have used to display them.\r\nThe first item in the array will be used as Baseline item in Offline Evaluations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RankableAction"
+ }
+ },
+ "excludedActions": {
+ "description": "The set of action ids to exclude from ranking.\r\nPersonalizer will consider the first non-excluded item in the array as the Baseline action when performing Offline Evaluations.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "eventId": {
+ "description": "Optionally pass an eventId that uniquely identifies this Rank event.\r\nIf null, the service generates a unique eventId. The eventId will be used for\r\nassociating this request with its reward, as well as seeding the pseudo-random\r\ngenerator when making a Personalizer call.",
+ "maxLength": 256,
+ "type": "string"
+ },
+ "deferActivation": {
+ "description": "Send false if it is certain the rewardActionId in rank results will be shown to the user, therefore\r\nPersonalizer will expect a Reward call, otherwise it will assign the default\r\nReward to the event. Send true if it is possible the user will not see the action specified in the rank results,\r\n(e.g. because the page is rendering later, or the Rank results may be overridden by code further downstream).\r\nYou must call the Activate Event API if the event output is shown to users, otherwise Rewards will be ignored.",
+ "default": false,
+ "type": "boolean"
+ }
+ }
+ },
+ "RankedAction": {
+ "description": "A ranked action with its resulting probability.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Id of the action",
+ "maxLength": 256,
+ "type": "string",
+ "readOnly": true
+ },
+ "probability": {
+ "format": "float",
+ "description": "Probability of the action",
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number",
+ "readOnly": true
+ }
+ }
+ },
+ "RankResponse": {
+ "description": "Returns which action to use as rewardActionId, and additional information about each action as a result of a Rank request.",
+ "type": "object",
+ "properties": {
+ "ranking": {
+ "description": "The calculated ranking for the current request.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RankedAction"
+ },
+ "readOnly": true
+ },
+ "eventId": {
+ "description": "The eventId for the round trip from request to response.",
+ "maxLength": 256,
+ "type": "string",
+ "readOnly": true
+ },
+ "rewardActionId": {
+ "description": "The action chosen by the Personalizer service.\r\nThis is the action your application should display, and for which to report the reward.\r\nThis might not be the first found in 'ranking'.",
+ "maxLength": 256,
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ServiceStatus": {
+ "type": "object",
+ "properties": {
+ "service": {
+ "type": "string"
+ },
+ "apiStatus": {
+ "type": "string"
+ },
+ "apiStatusMessage": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "Endpoint": {
+ "in": "path",
+ "name": "Endpoint",
+ "description": "Supported Cognitive Services endpoint.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "x-ms-skip-url-encoding": true
+ }
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "tags": [
+ {
+ "name": "ConfigurationsV1Dot1Preview1",
+ "description": "Manages configuration operations."
+ },
+ {
+ "name": "EvaluationsV1Dot1Preview1",
+ "description": "Manages counterfactual evaluation operations."
+ },
+ {
+ "name": "MultiSlotEvents",
+ "description": "Manages multi-slot event operations."
+ },
+ {
+ "name": "MultiSlotRank",
+ "description": "Manages multi-slot ranking operations."
+ },
+ {
+ "name": "Events",
+ "description": "Manages event operations."
+ },
+ {
+ "name": "Logs",
+ "description": "Manages reinforcement learning logs."
+ },
+ {
+ "name": "Model",
+ "description": "Manages reinforcement learning configuration operations."
+ },
+ {
+ "name": "Rank",
+ "description": "Manages ranking operations."
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Evaluation_Apply.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Evaluation_Apply.json
new file mode 100644
index 000000000000..17b6122af1f9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Evaluation_Apply.json
@@ -0,0 +1,13 @@
+{
+ "responses": {
+ "204": {}
+ },
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "body": {
+ "evaluationId": "b58c6d92-b727-48c1-9487-4be2782c9e0a",
+ "policyName": "online"
+ },
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Evaluations_Create.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Evaluations_Create.json
new file mode 100644
index 000000000000..59151af299b1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Evaluations_Create.json
@@ -0,0 +1,43 @@
+{
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "{endpoint}/personalizer/v1.1-preview.1/evaluations/{evaluationId}"
+ },
+ "body": {
+ "id": "b58c6d92-b727-48c1-9487-4be2782c9e0a",
+ "name": "myFirstEvaluation",
+ "startTime": "2018-12-19T00:00:00Z",
+ "endTime": "2019-01-19T00:00:00Z",
+ "status": "pending",
+ "policyResults": [
+ {
+ "name": "Custom learning settings 1",
+ "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5",
+ "policySource": "Online"
+ }
+ ],
+ "featureImportance": [],
+ "evaluationType": "Manual",
+ "optimalPolicy": "",
+ "creationTime": "2019-01-20T00:00:00Z"
+ }
+ }
+ },
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "evaluation": {
+ "enableOfflineExperimentation": true,
+ "name": "myFirstEvaluation",
+ "startTime": "2018-12-19T00:00:00Z",
+ "endTime": "2019-01-19T00:00:00Z",
+ "policies": [
+ {
+ "name": "Custom learning settings 1",
+ "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5"
+ }
+ ]
+ },
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Evaluations_Delete.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Evaluations_Delete.json
new file mode 100644
index 000000000000..1b8773e08e38
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Evaluations_Delete.json
@@ -0,0 +1,10 @@
+{
+ "responses": {
+ "204": {}
+ },
+ "parameters": {
+ "evaluationId": "id",
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Evaluations_Get.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Evaluations_Get.json
new file mode 100644
index 000000000000..11eb9fc459e3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Evaluations_Get.json
@@ -0,0 +1,74 @@
+{
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "b58c6d92-b727-48c1-9487-4be2782c9e0a",
+ "name": "myFirstEvaluation",
+ "startTime": "2018-12-19T00:00:00Z",
+ "endTime": "2019-01-19T00:00:00Z",
+ "status": "completed",
+ "policyResults": [
+ {
+ "name": "Custom learning settings 1",
+ "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5",
+ "policySource": "Custom",
+ "summary": [
+ {
+ "timeStamp": "2018-12-19T00:00:00Z",
+ "ipsEstimatorNumerator": 0.0,
+ "ipsEstimatorDenominator": 170.0,
+ "snipsEstimatorDenominator": 308.25,
+ "aggregateTimeWindow": "PT0S",
+ "nonZeroProbability": 64.0,
+ "sumOfSquares": 0.0,
+ "confidenceInterval": 0.0,
+ "averageReward": 0.0
+ },
+ {
+ "timeStamp": "2018-12-19T00:05:00Z",
+ "ipsEstimatorNumerator": 2.2,
+ "ipsEstimatorDenominator": 196.0,
+ "snipsEstimatorDenominator": 193.761,
+ "aggregateTimeWindow": "PT0S",
+ "nonZeroProbability": 68.0,
+ "sumOfSquares": 2.424,
+ "confidenceInterval": 0.015529361,
+ "averageReward": 0.01122449
+ }
+ ],
+ "totalSummary": {
+ "timeStamp": "2019-01-19T00:00:00Z",
+ "ipsEstimatorNumerator": 22.2,
+ "ipsEstimatorDenominator": 1906.0,
+ "snipsEstimatorDenominator": 1993.761,
+ "aggregateTimeWindow": "PT0S",
+ "nonZeroProbability": 68.0,
+ "sumOfSquares": 2.484,
+ "confidenceInterval": 0.0015344538,
+ "averageReward": 0.011647429
+ }
+ }
+ ],
+ "featureImportance": [
+ [
+ "f1",
+ "f2"
+ ],
+ [
+ "f3",
+ "f4"
+ ]
+ ],
+ "evaluationType": "Manual",
+ "optimalPolicy": "Custom learning settings 1",
+ "creationTime": "2019-01-20T00:00:00Z"
+ }
+ }
+ },
+ "parameters": {
+ "evaluationId": "id",
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Evaluations_List.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Evaluations_List.json
new file mode 100644
index 000000000000..18fe22e94bf8
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Evaluations_List.json
@@ -0,0 +1,54 @@
+{
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "b58c6d92-b727-48c1-9487-4be2782c9e0a",
+ "name": "myFirstEvaluation",
+ "startTime": "2018-11-19T00:00:00Z",
+ "endTime": "2018-12-19T00:00:00Z",
+ "status": "completed",
+ "policyResults": [
+ {
+ "name": "Custom learning settings 1",
+ "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5",
+ "policySource": "Online",
+ "totalSummary": {
+ "timeStamp": "2018-12-19T00:00:00Z",
+ "ipsEstimatorNumerator": 18.0,
+ "ipsEstimatorDenominator": 36.0,
+ "snipsEstimatorDenominator": 1.0,
+ "aggregateTimeWindow": "PT0S",
+ "nonZeroProbability": 1.1,
+ "sumOfSquares": 12.28,
+ "confidenceInterval": 0.100001775,
+ "averageReward": 0.5
+ }
+ }
+ ],
+ "featureImportance": [],
+ "evaluationType": "Manual",
+ "optimalPolicy": "Custom learning settings 1",
+ "creationTime": "2019-01-19T00:00:00Z"
+ },
+ {
+ "id": "21d03972-9130-4be9-8c8b-8ac3ec9b9dd1",
+ "name": "mySecondEvaluation",
+ "startTime": "2018-12-19T00:00:00Z",
+ "endTime": "2019-01-19T00:00:00Z",
+ "status": "pending",
+ "policyResults": [],
+ "featureImportance": [],
+ "evaluationType": "Manual",
+ "optimalPolicy": "",
+ "creationTime": "2019-01-19T00:00:00Z"
+ }
+ ]
+ }
+ },
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Events_Activate.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Events_Activate.json
new file mode 100644
index 000000000000..5ad279ba6d85
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Events_Activate.json
@@ -0,0 +1,10 @@
+{
+ "responses": {
+ "204": {}
+ },
+ "parameters": {
+ "eventId": "id",
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Events_Reward.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Events_Reward.json
new file mode 100644
index 000000000000..747305a2680f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Events_Reward.json
@@ -0,0 +1,13 @@
+{
+ "responses": {
+ "204": {}
+ },
+ "parameters": {
+ "eventId": "id",
+ "Endpoint": "{Endpoint}",
+ "reward": {
+ "value": 1.0
+ },
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Log_Delete.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Log_Delete.json
new file mode 100644
index 000000000000..3e1ff333b3b9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Log_Delete.json
@@ -0,0 +1,9 @@
+{
+ "responses": {
+ "204": {}
+ },
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Log_GetProperties.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Log_GetProperties.json
new file mode 100644
index 000000000000..001264140641
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Log_GetProperties.json
@@ -0,0 +1,17 @@
+{
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "dateRange": {
+ "from": "2019-01-18T16:00:00-08:00",
+ "to": "2019-02-18T16:00:00-08:00"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Model_Get.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Model_Get.json
new file mode 100644
index 000000000000..97276daa2c84
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Model_Get.json
@@ -0,0 +1,12 @@
+{
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": ""
+ }
+ },
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Model_GetProperties.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Model_GetProperties.json
new file mode 100644
index 000000000000..b6e1f1c38d8a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Model_GetProperties.json
@@ -0,0 +1,15 @@
+{
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "creationTime": "2019-01-18T16:00:00-08:00",
+ "lastModifiedTime": "2019-01-18T16:00:00-08:00"
+ }
+ }
+ },
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Model_Reset.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Model_Reset.json
new file mode 100644
index 000000000000..3e1ff333b3b9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Model_Reset.json
@@ -0,0 +1,9 @@
+{
+ "responses": {
+ "204": {}
+ },
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/MultiSlotEvents_Activate.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/MultiSlotEvents_Activate.json
new file mode 100644
index 000000000000..5ad279ba6d85
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/MultiSlotEvents_Activate.json
@@ -0,0 +1,10 @@
+{
+ "responses": {
+ "204": {}
+ },
+ "parameters": {
+ "eventId": "id",
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/MultiSlotEvents_Reward.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/MultiSlotEvents_Reward.json
new file mode 100644
index 000000000000..ce9f5ef2badd
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/MultiSlotEvents_Reward.json
@@ -0,0 +1,22 @@
+{
+ "responses": {
+ "204": {}
+ },
+ "parameters": {
+ "eventId": "id",
+ "Endpoint": "{Endpoint}",
+ "body": {
+ "reward": [
+ {
+ "slotId": "Heroposition",
+ "value": 0.5
+ },
+ {
+ "slotId": "SideBar",
+ "value": 0.6
+ }
+ ]
+ },
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/MultiSlot_Rank.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/MultiSlot_Rank.json
new file mode 100644
index 000000000000..5d8cd1ec1db2
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/MultiSlot_Rank.json
@@ -0,0 +1,104 @@
+{
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "slots": [
+ {
+ "id": "Main Article",
+ "rewardActionId": "EntertainmentArticle"
+ },
+ {
+ "id": "Side Bar",
+ "rewardActionId": "SportsArticle"
+ }
+ ],
+ "eventId": "75269AD0-BFEE-4598-8196-C57383D38E10"
+ }
+ }
+ },
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "body": {
+ "contextFeatures": [
+ {
+ "user": {
+ "profileType": "AnonymousUser",
+ "latLong": "47.6,-122.1"
+ }
+ },
+ {
+ "environment": {
+ "dayOfMonth": "28",
+ "monthOfYear": "8",
+ "weather": "Sunny"
+ }
+ },
+ {
+ "device": {
+ "mobile": true,
+ "windows": true
+ }
+ },
+ {
+ "recentActivity": {
+ "itemsInCart": 3
+ }
+ }
+ ],
+ "actions": [
+ {
+ "id": "NewsArticle",
+ "features": [
+ {
+ "type": "News"
+ }
+ ]
+ },
+ {
+ "id": "SportsArticle",
+ "features": [
+ {
+ "type": "Sports"
+ }
+ ]
+ },
+ {
+ "id": "EntertainmentArticle",
+ "features": [
+ {
+ "type": "Entertainment"
+ }
+ ]
+ }
+ ],
+ "slots": [
+ {
+ "id": "Main Article",
+ "features": [
+ {
+ "size": "Large",
+ "position": "Top Middle"
+ }
+ ],
+ "excludedActions": [
+ "SportsArticle"
+ ],
+ "baselineAction": "EntertainmentArticle"
+ },
+ {
+ "id": "Side Bar",
+ "features": [
+ {
+ "size": "Small"
+ }
+ ],
+ "baselineAction": "NewsArticle"
+ }
+ ],
+ "eventId": "75269AD0-BFEE-4598-8196-C57383D38E10",
+ "deferActivation": false
+ },
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Policy_Get.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Policy_Get.json
new file mode 100644
index 000000000000..a59c927b68dd
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Policy_Get.json
@@ -0,0 +1,15 @@
+{
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "myPersonalizer",
+ "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5"
+ }
+ }
+ },
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Policy_Reset.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Policy_Reset.json
new file mode 100644
index 000000000000..a59c927b68dd
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Policy_Reset.json
@@ -0,0 +1,15 @@
+{
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "myPersonalizer",
+ "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5"
+ }
+ }
+ },
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Policy_Update.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Policy_Update.json
new file mode 100644
index 000000000000..00236ae7214a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Policy_Update.json
@@ -0,0 +1,19 @@
+{
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "myPersonalizer",
+ "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5"
+ }
+ }
+ },
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "policy": {
+ "name": "myPersonalizer",
+ "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5"
+ },
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Rank.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Rank.json
new file mode 100644
index 000000000000..a3fd69260990
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Rank.json
@@ -0,0 +1,88 @@
+{
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "ranking": [
+ {
+ "id": "EntertainmentArticle",
+ "probability": 0.8
+ },
+ {
+ "id": "SportsArticle",
+ "probability": 0.0
+ },
+ {
+ "id": "NewsArticle",
+ "probability": 0.2
+ }
+ ],
+ "eventId": "75269AD0-BFEE-4598-8196-C57383D38E10",
+ "rewardActionId": "EntertainmentArticle"
+ }
+ }
+ },
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "rankRequest": {
+ "contextFeatures": [
+ {
+ "user": {
+ "profileType": "AnonymousUser",
+ "latLong": "47.6,-122.1"
+ }
+ },
+ {
+ "environment": {
+ "dayOfMonth": "28",
+ "monthOfYear": "8",
+ "weather": "Sunny"
+ }
+ },
+ {
+ "device": {
+ "mobile": true,
+ "windows": true
+ }
+ },
+ {
+ "recentActivity": {
+ "itemsInCart": 3
+ }
+ }
+ ],
+ "actions": [
+ {
+ "id": "NewsArticle",
+ "features": [
+ {
+ "type": "News"
+ }
+ ]
+ },
+ {
+ "id": "SportsArticle",
+ "features": [
+ {
+ "type": "Sports"
+ }
+ ]
+ },
+ {
+ "id": "EntertainmentArticle",
+ "features": [
+ {
+ "type": "Entertainment"
+ }
+ ]
+ }
+ ],
+ "excludedActions": [
+ "SportsArticle"
+ ],
+ "eventId": "75269AD0-BFEE-4598-8196-C57383D38E10",
+ "deferActivation": false
+ },
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/ServiceConfiguration_Get.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/ServiceConfiguration_Get.json
new file mode 100644
index 000000000000..fd4a7629b683
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/ServiceConfiguration_Get.json
@@ -0,0 +1,26 @@
+{
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "rewardWaitTime": "PT10M",
+ "defaultReward": 0.0,
+ "rewardAggregation": "earliest",
+ "explorationPercentage": 0.2,
+ "modelExportFrequency": "PT5M",
+ "logMirrorEnabled": true,
+ "logMirrorSasUri": "https://testblob.blob.core.windows.net/container?se=2020-08-13T00%3A00Z&sp=rwl&spr=https&sv=2018-11-09&sr=c&sig=signature",
+ "logRetentionDays": 7,
+ "lastConfigurationEditDate": "0001-01-01T00:00:00Z",
+ "learningMode": "Online",
+ "isAutoOptimizationEnabled": true,
+ "autoOptimizationFrequency": "P7D",
+ "autoOptimizationStartDate": "2019-01-19T00:00:00Z"
+ }
+ }
+ },
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}"
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/ServiceConfiguration_Update.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/ServiceConfiguration_Update.json
new file mode 100644
index 000000000000..d7282c6809a4
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/ServiceConfiguration_Update.json
@@ -0,0 +1,41 @@
+{
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "rewardWaitTime": "PT10M",
+ "defaultReward": 0.0,
+ "rewardAggregation": "earliest",
+ "explorationPercentage": 0.2,
+ "modelExportFrequency": "PT5M",
+ "logMirrorEnabled": true,
+ "logMirrorSasUri": "https://testblob.blob.core.windows.net/container?se=2020-08-13T00%3A00Z&sp=rwl&spr=https&sv=2018-11-09&sr=c&sig=signature",
+ "logRetentionDays": 7,
+ "lastConfigurationEditDate": "0001-01-01T00:00:00Z",
+ "learningMode": "Online",
+ "isAutoOptimizationEnabled": true,
+ "autoOptimizationFrequency": "P7D",
+ "autoOptimizationStartDate": "2019-01-19T00:00:00Z"
+ }
+ }
+ },
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "config": {
+ "rewardWaitTime": "PT10M",
+ "defaultReward": 0.0,
+ "rewardAggregation": "earliest",
+ "explorationPercentage": 0.2,
+ "modelExportFrequency": "PT5M",
+ "logMirrorEnabled": true,
+ "logMirrorSasUri": "https://testblob.blob.core.windows.net/container?se=2020-08-13T00%3A00Z&sp=rwl&spr=https&sv=2018-11-09&sr=c&sig=signature",
+ "logRetentionDays": 7,
+ "lastConfigurationEditDate": "0001-01-01T00:00:00Z",
+ "learningMode": "Online",
+ "isAutoOptimizationEnabled": true,
+ "autoOptimizationFrequency": "P7D",
+ "autoOptimizationStartDate": "2019-01-19T00:00:00Z"
+ },
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ }
+}
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/Personalizer/readme.md b/specification/cognitiveservices/data-plane/Personalizer/readme.md
index 888fcc5d55a7..612669f6ca1b 100644
--- a/specification/cognitiveservices/data-plane/Personalizer/readme.md
+++ b/specification/cognitiveservices/data-plane/Personalizer/readme.md
@@ -28,6 +28,14 @@ input-file:
- preview/v1.0/Personalizer.json
```
+### Release 1.0-Preview
+These settings apply only when `--tag=release_1_1_preview.1` is specified on the command line.
+
+``` yaml $(tag) == 'release_1_1_preview.1'
+input-file:
+ - preview/v1.1-preview.1/Personalizer.json
+```
+
## Swagger to SDK
This section describes what SDK should be generated by the automatic system.
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.5/TextAnalytics.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/TextAnalytics.json
new file mode 100644
index 000000000000..f45bd6164b6a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/TextAnalytics.json
@@ -0,0 +1,2961 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "v3.1-preview.5",
+ "contact": {
+ "name": "Microsoft Cognitive Services",
+ "url": "https://azure.microsoft.com/en-us/services/cognitive-services/text-analytics/",
+ "email": "mlapi@microsoft.com"
+ },
+ "title": "Text Analytics Client",
+ "description": "The Text Analytics API is a suite of natural language processing (NLP) services built with best-in-class Microsoft machine learning algorithms. The API can be used to analyze unstructured text for tasks such as sentiment analysis, key phrase extraction and language detection. Functionality for analysis of text specific to the healthcare domain and personal information are also available in the API. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview"
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}/text/analytics/v3.1-preview.5",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ },
+ "paths": {
+ "/analyze": {
+ "post": {
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "description": "Submit a collection of text documents for analysis. Specify one or more unique tasks to be executed.",
+ "operationId": "Analyze",
+ "summary": "Submit analysis job",
+ "parameters": [
+ {
+ "description": "Collection of documents to analyze and tasks to execute.",
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/AnalyzeBatchInput"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the analysis job.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string"
+ }
+ }
+ },
+ "400": {
+ "description": "Bad Request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Successful Submit analysis job request": {
+ "$ref": ".//examples//SuccessfulAnalyzeRequest.json"
+ }
+ },
+ "deprecated": false,
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/analyze/jobs/{jobId}": {
+ "get": {
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "description": "Get the status of an analysis job. A job may consist of one or more tasks. Once all tasks are completed, the job will transition to the completed state and results will be available for each task.",
+ "operationId": "AnalyzeStatus",
+ "summary": "Get analysis status and results",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AnalyzeJobId"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "default": 20,
+ "description": "(Optional) Set the maximum number of results per task. When both $top and $skip are specified, $skip is applied first.",
+ "in": "query",
+ "maximum": 50,
+ "minimum": 1,
+ "name": "$top",
+ "type": "integer"
+ },
+ {
+ "default": 0,
+ "description": "(Optional) Set the number of elements to offset in the response. When both $top and $skip are specified, $skip is applied first.",
+ "in": "query",
+ "minimum": 0,
+ "name": "$skip",
+ "type": "integer"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Analysis job status and metadata.",
+ "schema": {
+ "$ref": "#/definitions/AnalyzeJobState"
+ }
+ },
+ "404": {
+ "description": "Job ID not found.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Analysis job status request": {
+ "$ref": ".//examples//SuccessfulAnalyzeStatusRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/entities/health/jobs/{jobId}": {
+ "get": {
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "description": "Get details of the healthcare prediction job specified by the jobId.",
+ "operationId": "HealthStatus",
+ "summary": "Get healthcare analysis job status and results",
+ "parameters": [
+ {
+ "$ref": "#/parameters/JobId"
+ },
+ {
+ "default": 20,
+ "description": "(Optional) Set the maximum number of results per task. When both $top and $skip are specified, $skip is applied first.",
+ "in": "query",
+ "maximum": 50,
+ "minimum": 1,
+ "name": "$top",
+ "type": "integer"
+ },
+ {
+ "default": 0,
+ "description": "(Optional) Set the number of elements to offset in the response. When both $top and $skip are specified, $skip is applied first.",
+ "in": "query",
+ "minimum": 0,
+ "name": "$skip",
+ "type": "integer"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/HealthcareJobState"
+ }
+ },
+ "404": {
+ "description": "Job ID not found.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Successful Health request": {
+ "$ref": ".//examples//SuccessfulHealthStatusRequest.json"
+ }
+ },
+ "deprecated": false
+ },
+ "delete": {
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "description": "Cancel healthcare prediction job.",
+ "operationId": "CancelHealthJob",
+ "summary": "Cancel healthcare prediction job",
+ "parameters": [
+ {
+ "$ref": "#/parameters/JobId"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Cancel Job request has been received.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string"
+ }
+ }
+ },
+ "404": {
+ "description": "Job ID not found.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Successful Health request": {
+ "$ref": ".//examples//SuccessfulHealthDeleteRequest.json"
+ }
+ },
+ "deprecated": false,
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/entities/health/jobs": {
+ "post": {
+ "summary": "Submit healthcare analysis job",
+ "description": "Start a healthcare analysis job to recognize healthcare related entities (drugs, conditions, symptoms, etc) and their relations.",
+ "operationId": "Health",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ },
+ {
+ "$ref": "#/parameters/LoggingOptOut"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted - call results in a link where the status of the submitted job can be checked via the GET operation.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string"
+ }
+ }
+ },
+ "400": {
+ "description": "Bad Request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Successful Health request": {
+ "$ref": ".//examples//SuccessfulHealthRequest.json"
+ }
+ },
+ "deprecated": false,
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/entities/recognition/general": {
+ "post": {
+ "summary": "Named Entity Recognition",
+ "description": "The API returns a list of general named entities in a given document. For the list of supported entity types, check Supported Entity Types in Text Analytics API. See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "EntitiesRecognitionGeneral",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/LoggingOptOut"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in a list of recognized entities returned for each valid document.",
+ "schema": {
+ "$ref": "#/definitions/EntitiesResult"
+ }
+ },
+ "400": {
+ "description": "Bad Request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Successful Entities request": {
+ "$ref": ".//examples//SuccessfulEntitiesRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/entities/recognition/pii": {
+ "post": {
+ "summary": "Entities containing personal information",
+ "description": "The API returns a list of entities with personal information (\\\"SSN\\\", \\\"Bank Account\\\" etc) in the document. For the list of supported entity types, check Supported Entity Types in Text Analytics API. See the Supported languages in Text Analytics API for the list of enabled languages.\n",
+ "operationId": "EntitiesRecognitionPii",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/LoggingOptOut"
+ },
+ {
+ "name": "domain",
+ "in": "query",
+ "description": "(Optional) if specified, will set the PII domain to include only a subset of the entity categories. Possible values include: 'PHI', 'none'.",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ },
+ {
+ "$ref": "#/parameters/PiiCategories"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in a list of entities containing personal information returned for each valid document",
+ "schema": {
+ "$ref": "#/definitions/PiiResult"
+ }
+ },
+ "400": {
+ "description": "Bad Request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Successful Entity PII request": {
+ "$ref": ".//examples//SuccessfulEntityPIIRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/entities/linking": {
+ "post": {
+ "summary": "Linked entities from a well known knowledge base",
+ "description": "The API returns a list of recognized entities with links to a well known knowledge base. See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "EntitiesLinking",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/LoggingOptOut"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in a list of recognized entities with links to a well known knowledge base returned for each valid document",
+ "schema": {
+ "$ref": "#/definitions/EntityLinkingResult"
+ }
+ },
+ "400": {
+ "description": "Bad Request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Successful Entity Linking request": {
+ "$ref": ".//examples//SuccessfulEntityLinkingRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/keyPhrases": {
+ "post": {
+ "summary": "Key Phrases",
+ "description": "The API returns a list of strings denoting the key phrases in the input text. See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "KeyPhrases",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/LoggingOptOut"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response results in 0 or more key phrases identified in each valid document",
+ "schema": {
+ "$ref": "#/definitions/KeyPhraseResult"
+ }
+ },
+ "400": {
+ "description": "Bad Request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Successful Key Phrase request": {
+ "$ref": ".//examples//SuccessfulKeyPhrasesRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/languages": {
+ "post": {
+ "summary": "Detect Language",
+ "description": "The API returns the detected language and a numeric score between 0 and 1. Scores close to 1 indicate 100% certainty that the identified language is true. See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "Languages",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/LoggingOptOut"
+ },
+ {
+ "$ref": "#/parameters/LanguageInput"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in the detected language with the highest probability for each valid document",
+ "schema": {
+ "$ref": "#/definitions/LanguageResult"
+ }
+ },
+ "400": {
+ "description": "Bad Request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Successful Detect Language request": {
+ "$ref": ".//examples//SuccessfulLanguagesRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/sentiment": {
+ "post": {
+ "summary": "Sentiment",
+ "description": "The API returns a detailed sentiment analysis for the input text. The analysis is done in multiple levels of granularity, start from the a document level, down to sentence and key terms (targets and assessments).",
+ "operationId": "Sentiment",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/LoggingOptOut"
+ },
+ {
+ "name": "opinionMining",
+ "in": "query",
+ "description": "(Optional) if set to true, response will contain not only sentiment prediction but also opinion mining (aspect-based sentiment analysis) results.",
+ "type": "boolean"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in a document sentiment prediction, as well as sentiment scores for each sentiment class (Positive, Negative, and Neutral)",
+ "schema": {
+ "$ref": "#/definitions/SentimentResponse"
+ }
+ },
+ "400": {
+ "description": "Bad Request.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Successful Sentiment request": {
+ "$ref": ".//examples//SuccessfulSentimentRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ }
+ },
+ "definitions": {
+ "JobManifest": {
+ "properties": {
+ "tasks": {
+ "description": "The set of tasks to execute on the input documents. Cannot specify the same task more than once.",
+ "properties": {
+ "entityRecognitionTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntitiesTask"
+ }
+ },
+ "entityRecognitionPiiTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PiiTask"
+ }
+ },
+ "keyPhraseExtractionTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KeyPhrasesTask"
+ }
+ },
+ "entityLinkingTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntityLinkingTask"
+ }
+ },
+ "sentimentAnalysisTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SentimentAnalysisTask"
+ }
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "tasks"
+ ],
+ "type": "object"
+ },
+ "MultiLanguageBatchInput": {
+ "type": "object",
+ "required": [
+ "documents"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "The set of documents to process as part of this batch.",
+ "items": {
+ "$ref": "#/definitions/MultiLanguageInput"
+ }
+ }
+ },
+ "description": "Contains a set of input documents to be analyzed by the service."
+ },
+ "MultiLanguageInput": {
+ "type": "object",
+ "required": [
+ "id",
+ "text"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "A unique, non-empty document identifier."
+ },
+ "text": {
+ "type": "string",
+ "description": "The input text to process."
+ },
+ "language": {
+ "type": "string",
+ "description": "(Optional) This is the 2 letter ISO 639-1 representation of a language. For example, use \"en\" for English; \"es\" for Spanish etc. If not set, use \"en\" for English as default."
+ }
+ },
+ "description": "Contains an input document to be analyzed by the service."
+ },
+ "DocumentError": {
+ "type": "object",
+ "required": [
+ "id",
+ "error"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Document Id."
+ },
+ "error": {
+ "type": "object",
+ "description": "Document Error.",
+ "$ref": "#/definitions/TextAnalyticsError"
+ }
+ }
+ },
+ "ErrorResponse": {
+ "type": "object",
+ "required": [
+ "error"
+ ],
+ "properties": {
+ "error": {
+ "type": "object",
+ "description": "Document Error.",
+ "$ref": "#/definitions/TextAnalyticsError"
+ }
+ }
+ },
+ "TextAnalyticsError": {
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "enum": [
+ "InvalidRequest",
+ "InvalidArgument",
+ "InternalServerError",
+ "ServiceUnavailable",
+ "NotFound"
+ ],
+ "x-ms-enum": {
+ "name": "ErrorCodeValue",
+ "modelAsString": false
+ },
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ },
+ "target": {
+ "type": "string",
+ "description": "Error target."
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError",
+ "description": "Inner error contains more specific information."
+ },
+ "details": {
+ "type": "array",
+ "description": "Details about specific errors that led to this reported error.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsError"
+ }
+ }
+ }
+ },
+ "TextAnalyticsWarning": {
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "enum": [
+ "LongWordsInDocument",
+ "DocumentTruncated"
+ ],
+ "x-ms-enum": {
+ "name": "WarningCodeValue",
+ "modelAsString": true
+ },
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Warning message."
+ },
+ "targetRef": {
+ "type": "string",
+ "description": "A JSON pointer reference indicating the target object."
+ }
+ }
+ },
+ "PiiTask": {
+ "properties": {
+ "parameters": {
+ "properties": {
+ "domain": {
+ "default": "none",
+ "enum": [
+ "phi",
+ "none"
+ ],
+ "type": "string"
+ },
+ "model-version": {
+ "default": "latest",
+ "type": "string"
+ },
+ "loggingOptOut": {
+ "default": true,
+ "type": "boolean"
+ },
+ "pii-categories": {
+ "$ref": "#/definitions/PiiCategories"
+ },
+ "stringIndexType": {
+ "$ref": "#/definitions/StringIndexType"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "EntitiesTask": {
+ "properties": {
+ "parameters": {
+ "properties": {
+ "model-version": {
+ "default": "latest",
+ "type": "string"
+ },
+ "loggingOptOut": {
+ "default": false,
+ "type": "boolean"
+ },
+ "stringIndexType": {
+ "$ref": "#/definitions/StringIndexType"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "SentimentAnalysisTask": {
+ "properties": {
+ "parameters": {
+ "properties": {
+ "model-version": {
+ "default": "latest",
+ "type": "string"
+ },
+ "loggingOptOut": {
+ "default": false,
+ "type": "boolean"
+ },
+ "opinionMining": {
+ "default": false,
+ "type": "boolean"
+ },
+ "stringIndexType": {
+ "$ref": "#/definitions/StringIndexType"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "InnerError": {
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "enum": [
+ "InvalidParameterValue",
+ "InvalidRequestBodyFormat",
+ "EmptyRequest",
+ "MissingInputRecords",
+ "InvalidDocument",
+ "ModelVersionIncorrect",
+ "InvalidDocumentBatch",
+ "UnsupportedLanguageCode",
+ "InvalidCountryHint"
+ ],
+ "x-ms-enum": {
+ "name": "InnerErrorCodeValue",
+ "modelAsString": true
+ },
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ },
+ "details": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Error details."
+ },
+ "target": {
+ "type": "string",
+ "description": "Error target."
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError",
+ "description": "Inner error contains more specific information."
+ }
+ }
+ },
+ "AnalyzeBatchInput": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDescriptor"
+ },
+ {
+ "$ref": "#/definitions/AnalysisInput"
+ },
+ {
+ "$ref": "#/definitions/JobManifest"
+ }
+ ]
+ },
+ "AnalyzeJobState": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AnalyzeJobMetadata"
+ },
+ {
+ "$ref": "#/definitions/TasksState"
+ },
+ {
+ "$ref": "#/definitions/AnalyzeJobErrorsAndStatistics"
+ },
+ {
+ "$ref": "#/definitions/Pagination"
+ }
+ ]
+ },
+ "SentimentResponse": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Sentiment analysis per document.",
+ "items": {
+ "$ref": "#/definitions/DocumentSentiment"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "TaskState": {
+ "properties": {
+ "lastUpdateDateTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "notStarted",
+ "running",
+ "succeeded",
+ "failed",
+ "rejected",
+ "cancelled",
+ "cancelling"
+ ],
+ "x-ms-enum": {
+ "modelAsString": false,
+ "name": "State"
+ }
+ }
+ },
+ "required": [
+ "status",
+ "lastUpdateDateTime"
+ ],
+ "type": "object"
+ },
+ "TasksState": {
+ "properties": {
+ "tasks": {
+ "properties": {
+ "details": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ }
+ ],
+ "type": "object"
+ },
+ "completed": {
+ "type": "integer"
+ },
+ "failed": {
+ "type": "integer"
+ },
+ "inProgress": {
+ "type": "integer"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "entityRecognitionTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "$ref": "#/definitions/EntitiesTaskResult"
+ }
+ ]
+ }
+ },
+ "entityRecognitionPiiTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "$ref": "#/definitions/PiiTaskResult"
+ }
+ ]
+ }
+ },
+ "keyPhraseExtractionTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "$ref": "#/definitions/KeyPhraseTaskResult"
+ }
+ ]
+ }
+ },
+ "entityLinkingTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "$ref": "#/definitions/EntityLinkingTaskResult"
+ }
+ ]
+ }
+ },
+ "sentimentAnalysisTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "$ref": "#/definitions/SentimentTaskResult"
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "total",
+ "completed",
+ "failed",
+ "inProgress"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "tasks"
+ ],
+ "type": "object"
+ },
+ "DocumentSentiment": {
+ "type": "object",
+ "required": [
+ "id",
+ "sentiment",
+ "confidenceScores",
+ "sentences",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "sentiment": {
+ "type": "string",
+ "description": "Predicted sentiment for document (Negative, Neutral, Positive, or Mixed).",
+ "enum": [
+ "positive",
+ "neutral",
+ "negative",
+ "mixed"
+ ],
+ "x-ms-enum": {
+ "name": "DocumentSentimentValue",
+ "modelAsString": false
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/DocumentStatistics"
+ },
+ "confidenceScores": {
+ "description": "Document level sentiment confidence scores between 0 and 1 for each sentiment class.",
+ "$ref": "#/definitions/SentimentConfidenceScorePerLabel"
+ },
+ "sentences": {
+ "type": "array",
+ "description": "Sentence level sentiment analysis.",
+ "items": {
+ "$ref": "#/definitions/SentenceSentiment"
+ }
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ }
+ }
+ },
+ "RequestStatistics": {
+ "type": "object",
+ "required": [
+ "documentsCount",
+ "validDocumentsCount",
+ "erroneousDocumentsCount",
+ "transactionsCount"
+ ],
+ "properties": {
+ "documentsCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of documents submitted in the request."
+ },
+ "validDocumentsCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of valid documents. This excludes empty, over-size limit or non-supported languages documents."
+ },
+ "erroneousDocumentsCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of invalid documents. This includes empty, over-size limit or non-supported languages documents."
+ },
+ "transactionsCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of transactions for the request."
+ }
+ },
+ "description": "if showStats=true was specified in the request this field will contain information about the request payload."
+ },
+ "DocumentStatistics": {
+ "type": "object",
+ "required": [
+ "charactersCount",
+ "transactionsCount"
+ ],
+ "properties": {
+ "charactersCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of text elements recognized in the document."
+ },
+ "transactionsCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of transactions for the document."
+ }
+ },
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload."
+ },
+ "SentimentConfidenceScorePerLabel": {
+ "type": "object",
+ "required": [
+ "positive",
+ "neutral",
+ "negative"
+ ],
+ "properties": {
+ "positive": {
+ "type": "number",
+ "format": "double"
+ },
+ "neutral": {
+ "type": "number",
+ "format": "double"
+ },
+ "negative": {
+ "type": "number",
+ "format": "double"
+ }
+ },
+ "description": "Represents the confidence scores between 0 and 1 across all sentiment classes: positive, neutral, negative."
+ },
+ "SentenceSentiment": {
+ "type": "object",
+ "required": [
+ "text",
+ "sentiment",
+ "confidenceScores",
+ "offset",
+ "length"
+ ],
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "The sentence text."
+ },
+ "sentiment": {
+ "type": "string",
+ "description": "The predicted Sentiment for the sentence.",
+ "enum": [
+ "positive",
+ "neutral",
+ "negative"
+ ],
+ "x-ms-enum": {
+ "name": "SentenceSentimentValue",
+ "modelAsString": false
+ }
+ },
+ "confidenceScores": {
+ "description": "The sentiment confidence score between 0 and 1 for the sentence for all classes.",
+ "$ref": "#/definitions/SentimentConfidenceScorePerLabel"
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The sentence offset from the start of the document."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The length of the sentence."
+ },
+ "targets": {
+ "type": "array",
+ "description": "The array of sentence targets for the sentence.",
+ "items": {
+ "$ref": "#/definitions/SentenceTarget"
+ }
+ },
+ "assessments": {
+ "type": "array",
+ "description": "The array of assessments for the sentence.",
+ "items": {
+ "$ref": "#/definitions/SentenceAssessment"
+ }
+ }
+ }
+ },
+ "SentenceTarget": {
+ "type": "object",
+ "required": [
+ "confidenceScores",
+ "length",
+ "offset",
+ "relations",
+ "sentiment",
+ "text"
+ ],
+ "properties": {
+ "sentiment": {
+ "type": "string",
+ "enum": [
+ "positive",
+ "mixed",
+ "negative"
+ ],
+ "x-ms-enum": {
+ "name": "TokenSentimentValue",
+ "modelAsString": false
+ },
+ "description": "Targeted sentiment in the sentence."
+ },
+ "confidenceScores": {
+ "description": "Target sentiment confidence scores for the target in the sentence.",
+ "$ref": "#/definitions/TargetConfidenceScoreLabel"
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The target offset from the start of the sentence."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The length of the target."
+ },
+ "text": {
+ "type": "string",
+ "description": "The target text detected."
+ },
+ "relations": {
+ "type": "array",
+ "description": "The array of either assessment or target objects which is related to the target.",
+ "items": {
+ "$ref": "#/definitions/TargetRelation"
+ }
+ }
+ }
+ },
+ "SentenceAssessment": {
+ "type": "object",
+ "required": [
+ "confidenceScores",
+ "isNegated",
+ "length",
+ "offset",
+ "sentiment",
+ "text"
+ ],
+ "properties": {
+ "sentiment": {
+ "type": "string",
+ "enum": [
+ "positive",
+ "mixed",
+ "negative"
+ ],
+ "x-ms-enum": {
+ "name": "TokenSentimentValue",
+ "modelAsString": false
+ },
+ "description": "Assessment sentiment in the sentence."
+ },
+ "confidenceScores": {
+ "description": "Assessment sentiment confidence scores in the sentence.",
+ "$ref": "#/definitions/TargetConfidenceScoreLabel"
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The assessment offset from the start of the sentence."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The length of the assessment."
+ },
+ "text": {
+ "type": "string",
+ "description": "The assessment text detected."
+ },
+ "isNegated": {
+ "type": "boolean",
+ "description": "The indicator representing if the assessment is negated."
+ }
+ }
+ },
+ "TargetRelation": {
+ "type": "object",
+ "required": [
+ "ref",
+ "relationType"
+ ],
+ "properties": {
+ "relationType": {
+ "type": "string",
+ "enum": [
+ "assessment",
+ "target"
+ ],
+ "x-ms-enum": {
+ "name": "TargetRelationType",
+ "modelAsString": false
+ },
+ "description": "The type related to the target."
+ },
+ "ref": {
+ "type": "string",
+ "description": "The JSON pointer indicating the linked object."
+ }
+ }
+ },
+ "TargetConfidenceScoreLabel": {
+ "type": "object",
+ "required": [
+ "negative",
+ "positive"
+ ],
+ "properties": {
+ "positive": {
+ "type": "number",
+ "format": "double"
+ },
+ "negative": {
+ "type": "number",
+ "format": "double"
+ }
+ },
+ "description": "Represents the confidence scores across all sentiment classes: positive, neutral, negative."
+ },
+ "EntitiesResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/DocumentEntities"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "DocumentEntities": {
+ "type": "object",
+ "required": [
+ "id",
+ "entities",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "entities": {
+ "type": "array",
+ "description": "Recognized entities in the document.",
+ "items": {
+ "$ref": "#/definitions/Entity"
+ }
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ }
+ }
+ },
+ "PiiDocumentEntities": {
+ "type": "object",
+ "required": [
+ "id",
+ "redactedText",
+ "entities",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "redactedText": {
+ "type": "string",
+ "description": "Returns redacted text."
+ },
+ "entities": {
+ "type": "array",
+ "description": "Recognized entities in the document.",
+ "items": {
+ "$ref": "#/definitions/Entity"
+ }
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ }
+ }
+ },
+ "Entity": {
+ "type": "object",
+ "required": [
+ "text",
+ "category",
+ "offset",
+ "length",
+ "confidenceScore"
+ ],
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "Entity text as appears in the request."
+ },
+ "category": {
+ "type": "string",
+ "description": "Entity type."
+ },
+ "subcategory": {
+ "type": "string",
+ "description": "(Optional) Entity sub type."
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Start position for the entity text. Use of different 'stringIndexType' values can affect the offset returned."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Length for the entity text. Use of different 'stringIndexType' values can affect the length returned."
+ },
+ "confidenceScore": {
+ "type": "number",
+ "format": "double",
+ "description": "Confidence score between 0 and 1 of the extracted entity."
+ }
+ }
+ },
+ "EntityLinkingResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/DocumentLinkedEntities"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "DocumentLinkedEntities": {
+ "type": "object",
+ "required": [
+ "id",
+ "entities",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "entities": {
+ "type": "array",
+ "description": "Recognized well known entities in the document.",
+ "items": {
+ "$ref": "#/definitions/LinkedEntity"
+ }
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ }
+ }
+ },
+ "HealthcareJobState": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobMetadata"
+ },
+ {
+ "$ref": "#/definitions/HealthcareTaskResult"
+ },
+ {
+ "$ref": "#/definitions/Pagination"
+ }
+ ]
+ },
+ "HealthcareResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/DocumentHealthcareEntities"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "DocumentHealthcareEntities": {
+ "type": "object",
+ "required": [
+ "id",
+ "entities",
+ "relations",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "entities": {
+ "description": "Healthcare entities.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthcareEntity"
+ }
+ },
+ "relations": {
+ "type": "array",
+ "description": "Healthcare entity relations.",
+ "items": {
+ "$ref": "#/definitions/HealthcareRelation"
+ }
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ }
+ }
+ },
+ "HealthcareEntity": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Entity"
+ },
+ {
+ "$ref": "#/definitions/HealthcareLinkingProperties"
+ }
+ ]
+ },
+ "HealthcareRelation": {
+ "type": "object",
+ "description": "Every relation is an entity graph of a certain relationType, where all entities are connected and have specific roles within the relation context.",
+ "required": [
+ "relationType",
+ "entities"
+ ],
+ "properties": {
+ "relationType": {
+ "description": "Type of relation. Examples include: `DosageOfMedication` or 'FrequencyOfMedication', etc.",
+ "type": "string",
+ "enum": [
+ "Abbreviation",
+ "DirectionOfBodyStructure",
+ "DirectionOfCondition",
+ "DirectionOfExamination",
+ "DirectionOfTreatment",
+ "DosageOfMedication",
+ "FormOfMedication",
+ "FrequencyOfMedication",
+ "FrequencyOfTreatment",
+ "QualifierOfCondition",
+ "RelationOfExamination",
+ "RouteOfMedication",
+ "TimeOfCondition",
+ "TimeOfEvent",
+ "TimeOfExamination",
+ "TimeOfMedication",
+ "TimeOfTreatment",
+ "UnitOfCondition",
+ "UnitOfExamination",
+ "ValueOfCondition",
+ "ValueOfExamination"
+ ],
+ "x-ms-enum": {
+ "name": "relationType",
+ "modelAsString": true
+ }
+ },
+ "entities": {
+ "description": "The entities in the relation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthcareRelationEntity"
+ }
+ }
+ }
+ },
+ "HealthcareAssertion": {
+ "type": "object",
+ "properties": {
+ "conditionality": {
+ "description": "Describes any conditionality on the entity.",
+ "type": "string",
+ "enum": [
+ "hypothetical",
+ "conditional"
+ ],
+ "x-ms-enum": {
+ "name": "Conditionality",
+ "modelAsString": false
+ }
+ },
+ "certainty": {
+ "description": "Describes the entities certainty and polarity.",
+ "type": "string",
+ "enum": [
+ "positive",
+ "positivePossible",
+ "neutralPossible",
+ "negativePossible",
+ "negative"
+ ],
+ "x-ms-enum": {
+ "name": "Certainty",
+ "modelAsString": false
+ }
+ },
+ "association": {
+ "description": "Describes if the entity is the subject of the text or if it describes someone else.",
+ "type": "string",
+ "enum": [
+ "subject",
+ "other"
+ ],
+ "x-ms-enum": {
+ "name": "Association",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "HealthcareRelationEntity": {
+ "type": "object",
+ "required": [
+ "ref",
+ "role"
+ ],
+ "properties": {
+ "ref": {
+ "description": "Reference link object, using a JSON pointer RFC 6901 (URI Fragment Identifier Representation), pointing to the entity .",
+ "type": "string"
+ },
+ "role": {
+ "description": "Role of entity in the relationship. For example: 'CD20-positive diffuse large B-cell lymphoma' has the following entities with their roles in parenthesis: CD20 (GeneOrProtein), Positive (Expression), diffuse large B-cell lymphoma (Diagnosis).",
+ "type": "string"
+ }
+ }
+ },
+ "HealthcareEntityLink": {
+ "type": "object",
+ "required": [
+ "dataSource",
+ "id"
+ ],
+ "properties": {
+ "dataSource": {
+ "description": "Entity Catalog. Examples include: UMLS, CHV, MSH, etc.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Entity id in the given source catalog.",
+ "type": "string"
+ }
+ }
+ },
+ "HealthcareLinkingProperties": {
+ "properties": {
+ "assertion": {
+ "type": "object",
+ "$ref": "#/definitions/HealthcareAssertion"
+ },
+ "name": {
+ "description": "Preferred name for the entity. Example: 'histologically' would have a 'name' of 'histologic'.",
+ "type": "string"
+ },
+ "links": {
+ "description": "Entity references in known data sources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthcareEntityLink"
+ }
+ }
+ }
+ },
+ "LinkedEntity": {
+ "type": "object",
+ "required": [
+ "name",
+ "matches",
+ "language",
+ "url",
+ "dataSource"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Entity Linking formal name."
+ },
+ "matches": {
+ "type": "array",
+ "description": "List of instances this entity appears in the text.",
+ "items": {
+ "$ref": "#/definitions/Match"
+ }
+ },
+ "language": {
+ "type": "string",
+ "description": "Language used in the data source."
+ },
+ "id": {
+ "type": "string",
+ "description": "Unique identifier of the recognized entity from the data source."
+ },
+ "url": {
+ "type": "string",
+ "description": "URL for the entity's page from the data source."
+ },
+ "dataSource": {
+ "type": "string",
+ "description": "Data source used to extract entity linking, such as Wiki/Bing etc."
+ },
+ "bingId": {
+ "type": "string",
+ "description": "Bing Entity Search API unique identifier of the recognized entity."
+ }
+ }
+ },
+ "Match": {
+ "type": "object",
+ "required": [
+ "confidenceScore",
+ "text",
+ "offset",
+ "length"
+ ],
+ "properties": {
+ "confidenceScore": {
+ "type": "number",
+ "format": "double",
+ "description": "If a well known item is recognized, a decimal number denoting the confidence level between 0 and 1 will be returned."
+ },
+ "text": {
+ "type": "string",
+ "description": "Entity text as appears in the request."
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Start position for the entity match text."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Length for the entity match text."
+ }
+ }
+ },
+ "AnalysisInput": {
+ "type": "object",
+ "required": [
+ "analysisInput"
+ ],
+ "properties": {
+ "analysisInput": {
+ "$ref": "#/definitions/MultiLanguageBatchInput"
+ }
+ }
+ },
+ "EntitiesTaskResult": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/EntitiesResult"
+ }
+ }
+ },
+ "PiiTaskResult": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/PiiResult"
+ }
+ }
+ },
+ "KeyPhraseTaskResult": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/KeyPhraseResult"
+ }
+ }
+ },
+ "EntityLinkingTaskResult": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/EntityLinkingResult"
+ }
+ }
+ },
+ "SentimentTaskResult": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/SentimentResponse"
+ }
+ }
+ },
+ "HealthcareTaskResult": {
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/HealthcareResult"
+ },
+ "errors": {
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsError"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "JobDescriptor": {
+ "properties": {
+ "displayName": {
+ "description": "Optional display name for the analysis job.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "JobMetadata": {
+ "properties": {
+ "createdDateTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "expirationDateTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "jobId": {
+ "format": "uuid",
+ "type": "string"
+ },
+ "lastUpdateDateTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "notStarted",
+ "running",
+ "succeeded",
+ "failed",
+ "cancelled",
+ "cancelling",
+ "partiallyCompleted"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": false,
+ "name": "State"
+ }
+ }
+ },
+ "required": [
+ "jobId",
+ "lastUpdateDateTime",
+ "createdDateTime",
+ "status"
+ ],
+ "type": "object"
+ },
+ "AnalyzeJobDisplayName": {
+ "properties": {
+ "displayName": {
+ "type": "string"
+ }
+ }
+ },
+ "AnalyzeJobMetadata": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobMetadata"
+ },
+ {
+ "$ref": "#/definitions/AnalyzeJobDisplayName"
+ }
+ ]
+ },
+ "AnalyzeJobErrorsAndStatistics": {
+ "properties": {
+ "errors": {
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsError"
+ },
+ "type": "array"
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ }
+ },
+ "type": "object"
+ },
+ "KeyPhraseResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/DocumentKeyPhrases"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "DocumentKeyPhrases": {
+ "type": "object",
+ "required": [
+ "id",
+ "keyPhrases",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "keyPhrases": {
+ "type": "array",
+ "description": "A list of representative words or phrases. The number of key phrases returned is proportional to the number of words in the input document.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ }
+ }
+ },
+ "KeyPhrasesTask": {
+ "properties": {
+ "parameters": {
+ "properties": {
+ "model-version": {
+ "default": "latest",
+ "type": "string"
+ },
+ "loggingOptOut": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "EntityLinkingTask": {
+ "properties": {
+ "parameters": {
+ "properties": {
+ "model-version": {
+ "default": "latest",
+ "type": "string"
+ },
+ "loggingOptOut": {
+ "default": false,
+ "type": "boolean"
+ },
+ "stringIndexType": {
+ "$ref": "#/definitions/StringIndexType"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "LanguageBatchInput": {
+ "type": "object",
+ "required": [
+ "documents"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LanguageInput"
+ }
+ }
+ }
+ },
+ "LanguageInput": {
+ "type": "object",
+ "required": [
+ "id",
+ "text"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "text": {
+ "type": "string"
+ },
+ "countryHint": {
+ "type": "string"
+ }
+ }
+ },
+ "Pagination": {
+ "properties": {
+ "@nextLink": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PiiResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/PiiDocumentEntities"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "LanguageResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/DocumentLanguage"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "DocumentLanguage": {
+ "type": "object",
+ "required": [
+ "id",
+ "detectedLanguage",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "detectedLanguage": {
+ "description": "Detected Language.",
+ "$ref": "#/definitions/DetectedLanguage"
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ }
+ }
+ },
+ "DetectedLanguage": {
+ "type": "object",
+ "required": [
+ "name",
+ "iso6391Name",
+ "confidenceScore"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Long name of a detected language (e.g. English, French)."
+ },
+ "iso6391Name": {
+ "type": "string",
+ "description": "A two letter representation of the detected language according to the ISO 639-1 standard (e.g. en, fr)."
+ },
+ "confidenceScore": {
+ "type": "number",
+ "format": "double",
+ "description": "A confidence score between 0 and 1. Scores close to 1 indicate 100% certainty that the identified language is true."
+ }
+ }
+ },
+ "StringIndexType": {
+ "default": "TextElement_v8",
+ "enum": [
+ "TextElement_v8",
+ "UnicodeCodePoint",
+ "Utf16CodeUnit"
+ ],
+ "x-ms-enum": {
+ "name": "StringIndexType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "TextElement_v8",
+ "description": "Returned offset and length values will correspond to TextElements (Graphemes and Grapheme clusters) confirming to the Unicode 8.0.0 standard. Use this option if your application is written in .Net Framework or .Net Core and you will be using StringInfo."
+ },
+ {
+ "value": "UnicodeCodePoint",
+ "description": "Returned offset and length values will correspond to Unicode code points. Use this option if your application is written in a language that support Unicode, for example Python."
+ },
+ {
+ "value": "Utf16CodeUnit",
+ "description": "Returned offset and length values will correspond to UTF-16 code units. Use this option if your application is written in a language that support Unicode, for example Java, JavaScript."
+ }
+ ]
+ },
+ "type": "string"
+ },
+ "PiiCategories": {
+ "description": "(Optional) describes the PII categories to return",
+ "items": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PiiCategory",
+ "modelAsString": true
+ },
+ "enum": [
+ "ABARoutingNumber",
+ "ARNationalIdentityNumber",
+ "AUBankAccountNumber",
+ "AUDriversLicenseNumber",
+ "AUMedicalAccountNumber",
+ "AUPassportNumber",
+ "AUTaxFileNumber",
+ "AUBusinessNumber",
+ "AUCompanyNumber",
+ "ATIdentityCard",
+ "ATTaxIdentificationNumber",
+ "ATValueAddedTaxNumber",
+ "AzureDocumentDBAuthKey",
+ "AzureIAASDatabaseConnectionAndSQLString",
+ "AzureIoTConnectionString",
+ "AzurePublishSettingPassword",
+ "AzureRedisCacheString",
+ "AzureSAS",
+ "AzureServiceBusString",
+ "AzureStorageAccountKey",
+ "AzureStorageAccountGeneric",
+ "BENationalNumber",
+ "BENationalNumberV2",
+ "BEValueAddedTaxNumber",
+ "BRCPFNumber",
+ "BRLegalEntityNumber",
+ "BRNationalIDRG",
+ "BGUniformCivilNumber",
+ "CABankAccountNumber",
+ "CADriversLicenseNumber",
+ "CAHealthServiceNumber",
+ "CAPassportNumber",
+ "CAPersonalHealthIdentification",
+ "CASocialInsuranceNumber",
+ "CLIdentityCardNumber",
+ "CNResidentIdentityCardNumber",
+ "CreditCardNumber",
+ "HRIdentityCardNumber",
+ "HRNationalIDNumber",
+ "HRPersonalIdentificationNumber",
+ "HRPersonalIdentificationOIBNumberV2",
+ "CYIdentityCard",
+ "CYTaxIdentificationNumber",
+ "CZPersonalIdentityNumber",
+ "CZPersonalIdentityV2",
+ "DKPersonalIdentificationNumber",
+ "DKPersonalIdentificationV2",
+ "DrugEnforcementAgencyNumber",
+ "EEPersonalIdentificationCode",
+ "EUDebitCardNumber",
+ "EUDriversLicenseNumber",
+ "EUGPSCoordinates",
+ "EUNationalIdentificationNumber",
+ "EUPassportNumber",
+ "EUSocialSecurityNumber",
+ "EUTaxIdentificationNumber",
+ "FIEuropeanHealthNumber",
+ "FINationalID",
+ "FINationalIDV2",
+ "FIPassportNumber",
+ "FRDriversLicenseNumber",
+ "FRHealthInsuranceNumber",
+ "FRNationalID",
+ "FRPassportNumber",
+ "FRSocialSecurityNumber",
+ "FRTaxIdentificationNumber",
+ "FRValueAddedTaxNumber",
+ "DEDriversLicenseNumber",
+ "DEPassportNumber",
+ "DEIdentityCardNumber",
+ "DETaxIdentificationNumber",
+ "DEValueAddedNumber",
+ "GRNationalIDCard",
+ "GRNationalIDV2",
+ "GRTaxIdentificationNumber",
+ "HKIdentityCardNumber",
+ "HUValueAddedNumber",
+ "HUPersonalIdentificationNumber",
+ "HUTaxIdentificationNumber",
+ "INPermanentAccount",
+ "INUniqueIdentificationNumber",
+ "IDIdentityCardNumber",
+ "InternationalBankingAccountNumber",
+ "IEPersonalPublicServiceNumber",
+ "IEPersonalPublicServiceNumberV2",
+ "ILBankAccountNumber",
+ "ILNationalID",
+ "ITDriversLicenseNumber",
+ "ITFiscalCode",
+ "ITValueAddedTaxNumber",
+ "JPBankAccountNumber",
+ "JPDriversLicenseNumber",
+ "JPPassportNumber",
+ "JPResidentRegistrationNumber",
+ "JPSocialInsuranceNumber",
+ "JPMyNumberCorporate",
+ "JPMyNumberPersonal",
+ "JPResidenceCardNumber",
+ "LVPersonalCode",
+ "LTPersonalCode",
+ "LUNationalIdentificationNumberNatural",
+ "LUNationalIdentificationNumberNonNatural",
+ "MYIdentityCardNumber",
+ "MTIdentityCardNumber",
+ "MTTaxIDNumber",
+ "NLCitizensServiceNumber",
+ "NLCitizensServiceNumberV2",
+ "NLTaxIdentificationNumber",
+ "NLValueAddedTaxNumber",
+ "NZBankAccountNumber",
+ "NZDriversLicenseNumber",
+ "NZInlandRevenueNumber",
+ "NZMinistryOfHealthNumber",
+ "NZSocialWelfareNumber",
+ "NOIdentityNumber",
+ "PHUnifiedMultiPurposeIDNumber",
+ "PLIdentityCard",
+ "PLNationalID",
+ "PLNationalIDV2",
+ "PLPassportNumber",
+ "PLTaxIdentificationNumber",
+ "PLREGONNumber",
+ "PTCitizenCardNumber",
+ "PTCitizenCardNumberV2",
+ "PTTaxIdentificationNumber",
+ "ROPersonalNumericalCode",
+ "RUPassportNumberDomestic",
+ "RUPassportNumberInternational",
+ "SANationalID",
+ "SGNationalRegistrationIdentityCardNumber",
+ "SKPersonalNumber",
+ "SITaxIdentificationNumber",
+ "SIUniqueMasterCitizenNumber",
+ "ZAIdentificationNumber",
+ "KRResidentRegistrationNumber",
+ "ESDNI",
+ "ESSocialSecurityNumber",
+ "ESTaxIdentificationNumber",
+ "SQLServerConnectionString",
+ "SENationalID",
+ "SENationalIDV2",
+ "SEPassportNumber",
+ "SETaxIdentificationNumber",
+ "SWIFTCode",
+ "CHSocialSecurityNumber",
+ "TWNationalID",
+ "TWPassportNumber",
+ "TWResidentCertificate",
+ "THPopulationIdentificationCode",
+ "TRNationalIdentificationNumber",
+ "UKDriversLicenseNumber",
+ "UKElectoralRollNumber",
+ "UKNationalHealthNumber",
+ "UKNationalInsuranceNumber",
+ "UKUniqueTaxpayerNumber",
+ "USUKPassportNumber",
+ "USBankAccountNumber",
+ "USDriversLicenseNumber",
+ "USIndividualTaxpayerIdentification",
+ "USSocialSecurityNumber",
+ "UAPassportNumberDomestic",
+ "UAPassportNumberInternational",
+ "Organization",
+ "Email",
+ "URL",
+ "Age",
+ "PhoneNumber",
+ "IPAddress",
+ "Date",
+ "Person",
+ "Address",
+ "All",
+ "Default"
+ ]
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "parameters": {
+ "Endpoint": {
+ "name": "Endpoint",
+ "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com).",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ },
+ "StringIndexType": {
+ "name": "stringIndexType",
+ "in": "query",
+ "type": "string",
+ "description": "(Optional) Specifies the method used to interpret string offsets. Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information see https://aka.ms/text-analytics-offsets",
+ "default": "TextElement_v8",
+ "enum": [
+ "TextElement_v8",
+ "UnicodeCodePoint",
+ "Utf16CodeUnit"
+ ],
+ "x-ms-enum": {
+ "name": "StringIndexType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "TextElement_v8",
+ "description": "Returned offset and length values will correspond to TextElements (Graphemes and Grapheme clusters) confirming to the Unicode 8.0.0 standard. Use this option if your application is written in .Net Framework or .Net Core and you will be using StringInfo."
+ },
+ {
+ "value": "UnicodeCodePoint",
+ "description": "Returned offset and length values will correspond to Unicode code points. Use this option if your application is written in a language that support Unicode, for example Python."
+ },
+ {
+ "value": "Utf16CodeUnit",
+ "description": "Returned offset and length values will correspond to UTF-16 code units. Use this option if your application is written in a language that support Unicode, for example Java, JavaScript."
+ }
+ ]
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "PiiCategories": {
+ "description": "(Optional) describes the PII categories to return",
+ "in": "query",
+ "collectionFormat": "csv",
+ "items": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PiiCategory",
+ "modelAsString": true
+ },
+ "enum": [
+ "ABARoutingNumber",
+ "ARNationalIdentityNumber",
+ "AUBankAccountNumber",
+ "AUDriversLicenseNumber",
+ "AUMedicalAccountNumber",
+ "AUPassportNumber",
+ "AUTaxFileNumber",
+ "AUBusinessNumber",
+ "AUCompanyNumber",
+ "ATIdentityCard",
+ "ATTaxIdentificationNumber",
+ "ATValueAddedTaxNumber",
+ "AzureDocumentDBAuthKey",
+ "AzureIAASDatabaseConnectionAndSQLString",
+ "AzureIoTConnectionString",
+ "AzurePublishSettingPassword",
+ "AzureRedisCacheString",
+ "AzureSAS",
+ "AzureServiceBusString",
+ "AzureStorageAccountKey",
+ "AzureStorageAccountGeneric",
+ "BENationalNumber",
+ "BENationalNumberV2",
+ "BEValueAddedTaxNumber",
+ "BRCPFNumber",
+ "BRLegalEntityNumber",
+ "BRNationalIDRG",
+ "BGUniformCivilNumber",
+ "CABankAccountNumber",
+ "CADriversLicenseNumber",
+ "CAHealthServiceNumber",
+ "CAPassportNumber",
+ "CAPersonalHealthIdentification",
+ "CASocialInsuranceNumber",
+ "CLIdentityCardNumber",
+ "CNResidentIdentityCardNumber",
+ "CreditCardNumber",
+ "HRIdentityCardNumber",
+ "HRNationalIDNumber",
+ "HRPersonalIdentificationNumber",
+ "HRPersonalIdentificationOIBNumberV2",
+ "CYIdentityCard",
+ "CYTaxIdentificationNumber",
+ "CZPersonalIdentityNumber",
+ "CZPersonalIdentityV2",
+ "DKPersonalIdentificationNumber",
+ "DKPersonalIdentificationV2",
+ "DrugEnforcementAgencyNumber",
+ "EEPersonalIdentificationCode",
+ "EUDebitCardNumber",
+ "EUDriversLicenseNumber",
+ "EUGPSCoordinates",
+ "EUNationalIdentificationNumber",
+ "EUPassportNumber",
+ "EUSocialSecurityNumber",
+ "EUTaxIdentificationNumber",
+ "FIEuropeanHealthNumber",
+ "FINationalID",
+ "FINationalIDV2",
+ "FIPassportNumber",
+ "FRDriversLicenseNumber",
+ "FRHealthInsuranceNumber",
+ "FRNationalID",
+ "FRPassportNumber",
+ "FRSocialSecurityNumber",
+ "FRTaxIdentificationNumber",
+ "FRValueAddedTaxNumber",
+ "DEDriversLicenseNumber",
+ "DEPassportNumber",
+ "DEIdentityCardNumber",
+ "DETaxIdentificationNumber",
+ "DEValueAddedNumber",
+ "GRNationalIDCard",
+ "GRNationalIDV2",
+ "GRTaxIdentificationNumber",
+ "HKIdentityCardNumber",
+ "HUValueAddedNumber",
+ "HUPersonalIdentificationNumber",
+ "HUTaxIdentificationNumber",
+ "INPermanentAccount",
+ "INUniqueIdentificationNumber",
+ "IDIdentityCardNumber",
+ "InternationalBankingAccountNumber",
+ "IEPersonalPublicServiceNumber",
+ "IEPersonalPublicServiceNumberV2",
+ "ILBankAccountNumber",
+ "ILNationalID",
+ "ITDriversLicenseNumber",
+ "ITFiscalCode",
+ "ITValueAddedTaxNumber",
+ "JPBankAccountNumber",
+ "JPDriversLicenseNumber",
+ "JPPassportNumber",
+ "JPResidentRegistrationNumber",
+ "JPSocialInsuranceNumber",
+ "JPMyNumberCorporate",
+ "JPMyNumberPersonal",
+ "JPResidenceCardNumber",
+ "LVPersonalCode",
+ "LTPersonalCode",
+ "LUNationalIdentificationNumberNatural",
+ "LUNationalIdentificationNumberNonNatural",
+ "MYIdentityCardNumber",
+ "MTIdentityCardNumber",
+ "MTTaxIDNumber",
+ "NLCitizensServiceNumber",
+ "NLCitizensServiceNumberV2",
+ "NLTaxIdentificationNumber",
+ "NLValueAddedTaxNumber",
+ "NZBankAccountNumber",
+ "NZDriversLicenseNumber",
+ "NZInlandRevenueNumber",
+ "NZMinistryOfHealthNumber",
+ "NZSocialWelfareNumber",
+ "NOIdentityNumber",
+ "PHUnifiedMultiPurposeIDNumber",
+ "PLIdentityCard",
+ "PLNationalID",
+ "PLNationalIDV2",
+ "PLPassportNumber",
+ "PLTaxIdentificationNumber",
+ "PLREGONNumber",
+ "PTCitizenCardNumber",
+ "PTCitizenCardNumberV2",
+ "PTTaxIdentificationNumber",
+ "ROPersonalNumericalCode",
+ "RUPassportNumberDomestic",
+ "RUPassportNumberInternational",
+ "SANationalID",
+ "SGNationalRegistrationIdentityCardNumber",
+ "SKPersonalNumber",
+ "SITaxIdentificationNumber",
+ "SIUniqueMasterCitizenNumber",
+ "ZAIdentificationNumber",
+ "KRResidentRegistrationNumber",
+ "ESDNI",
+ "ESSocialSecurityNumber",
+ "ESTaxIdentificationNumber",
+ "SQLServerConnectionString",
+ "SENationalID",
+ "SENationalIDV2",
+ "SEPassportNumber",
+ "SETaxIdentificationNumber",
+ "SWIFTCode",
+ "CHSocialSecurityNumber",
+ "TWNationalID",
+ "TWPassportNumber",
+ "TWResidentCertificate",
+ "THPopulationIdentificationCode",
+ "TRNationalIdentificationNumber",
+ "UKDriversLicenseNumber",
+ "UKElectoralRollNumber",
+ "UKNationalHealthNumber",
+ "UKNationalInsuranceNumber",
+ "UKUniqueTaxpayerNumber",
+ "USUKPassportNumber",
+ "USBankAccountNumber",
+ "USDriversLicenseNumber",
+ "USIndividualTaxpayerIdentification",
+ "USSocialSecurityNumber",
+ "UAPassportNumberDomestic",
+ "UAPassportNumberInternational",
+ "Organization",
+ "Email",
+ "URL",
+ "Age",
+ "PhoneNumber",
+ "IPAddress",
+ "Date",
+ "Person",
+ "Address",
+ "All",
+ "Default"
+ ]
+ },
+ "name": "piiCategories",
+ "required": false,
+ "type": "array",
+ "uniqueItems": true,
+ "x-ms-parameter-location": "method"
+ },
+ "JobId": {
+ "description": "Job ID",
+ "format": "uuid",
+ "in": "path",
+ "name": "jobId",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "AnalyzeJobId": {
+ "description": "Job ID for Analyze",
+ "in": "path",
+ "name": "jobId",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ShowStats": {
+ "name": "showStats",
+ "in": "query",
+ "description": "(Optional) if set to true, response will contain request and document level statistics.",
+ "type": "boolean",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "LoggingOptOut": {
+ "name": "loggingOptOut",
+ "in": "query",
+ "description": "(Optional) If set to true, you opt-out of having your text input logged for troubleshooting. By default, Text Analytics logs your input text for 48 hours, solely to allow for troubleshooting issues in providing you with the Text Analytics natural language processing functions. Setting this parameter to true, disables input logging and may limit our ability to remediate issues that occur. Please see Cognitive Services Compliance and Privacy notes at https://aka.ms/cs-compliance for additional details, and Microsoft Responsible AI principles at https://www.microsoft.com/en-us/ai/responsible-ai.",
+ "type": "boolean",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "ModelVersion": {
+ "name": "model-version",
+ "in": "query",
+ "description": "(Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. ",
+ "type": "string",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "MultiLanguageInput": {
+ "in": "body",
+ "name": "input",
+ "description": "Collection of documents to analyze.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MultiLanguageBatchInput"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "LanguageInput": {
+ "in": "body",
+ "name": "input",
+ "description": "Collection of documents to analyze for language endpoint.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LanguageBatchInput"
+ },
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulAnalyzeRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulAnalyzeRequest.json
new file mode 100644
index 000000000000..e1b8c498d32d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulAnalyzeRequest.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "jobId": "{Job ID}",
+ "input": {
+ "displayName": "Extracting Location & US Region",
+ "analysisInput": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "I had a wonderful trip to Seattle last week."
+ },
+ {
+ "id": "2",
+ "language": "en",
+ "text": "I'm flying to NYC tomorrow. See you there."
+ }
+ ]
+ },
+ "tasks": {
+ "entityRecognitionTasks": [
+ {
+ "parameters": {
+ "model-version": "latest"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/text/analytics/v3.1-preview.5/analyze/jobs/{jobId}"
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InvalidRequest",
+ "message": "Invalid Request.",
+ "innererror": {
+ "code": "MissingInputRecords",
+ "message": "Missing input records."
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulAnalyzeStatusRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulAnalyzeStatusRequest.json
new file mode 100644
index 000000000000..93d23bfe90a3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulAnalyzeStatusRequest.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "jobId": "{Job ID}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "createdDateTime": "2020-10-01T15:00:45Z",
+ "displayName": "Extracting Location & US Region",
+ "expirationDateTime": "2020-10-03T15:01:03Z",
+ "jobId": "c0f2a446-05d9-48fc-ba8f-3ef4af8d0b18",
+ "lastUpdateDateTime": "2020-10-01T15:01:03Z",
+ "status": "succeeded",
+ "tasks": {
+ "completed": 2,
+ "failed": 0,
+ "inProgress": 0,
+ "total": 2,
+ "entityRecognitionTasks": [
+ {
+ "name": "Recognize Entities (2020-04-01)",
+ "lastUpdateDateTime": "2020-10-01T15:01:03Z",
+ "status": "succeeded",
+ "results": {
+ "documents": [
+ {
+ "entities": [
+ {
+ "category": "Event",
+ "confidenceScore": 0.61,
+ "length": 4,
+ "offset": 18,
+ "text": "trip"
+ },
+ {
+ "category": "Location",
+ "confidenceScore": 0.82,
+ "length": 7,
+ "offset": 26,
+ "subcategory": "GPE",
+ "text": "Seattle"
+ },
+ {
+ "category": "DateTime",
+ "confidenceScore": 0.8,
+ "length": 9,
+ "offset": 34,
+ "subcategory": "DateRange",
+ "text": "last week"
+ }
+ ],
+ "id": "1",
+ "warnings": []
+ },
+ {
+ "entities": [
+ {
+ "category": "Location",
+ "confidenceScore": 0.52,
+ "length": 3,
+ "offset": 14,
+ "subcategory": "GPE",
+ "text": "NYC"
+ },
+ {
+ "category": "DateTime",
+ "confidenceScore": 0.8,
+ "length": 8,
+ "offset": 18,
+ "subcategory": "Date",
+ "text": "tomorrow"
+ }
+ ],
+ "id": "2",
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-04-01"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "404": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "NotFound",
+ "message": "Not Found",
+ "innererror": {
+ "code": "JobIdNotFound",
+ "message": "Job ID not found."
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulEntitiesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulEntitiesRequest.json
new file mode 100644
index 000000000000..d6c9a0221153
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulEntitiesRequest.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "Microsoft was founded by Bill Gates and Paul Allen."
+ },
+ {
+ "id": "2",
+ "language": "en",
+ "text": "Pike place market is my favorite Seattle attraction."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "entities": [
+ {
+ "category": "Organization",
+ "confidenceScore": 0.84,
+ "length": 9,
+ "offset": 0,
+ "text": "Microsoft"
+ },
+ {
+ "category": "Person",
+ "confidenceScore": 0.85,
+ "length": 10,
+ "offset": 25,
+ "text": "Bill Gates"
+ },
+ {
+ "category": "Person",
+ "confidenceScore": 0.9,
+ "length": 10,
+ "offset": 40,
+ "text": "Paul Allen"
+ }
+ ],
+ "id": "1",
+ "warnings": []
+ },
+ {
+ "entities": [
+ {
+ "category": "Location",
+ "confidenceScore": 0.55,
+ "length": 7,
+ "offset": 33,
+ "subcategory": "GPE",
+ "text": "Seattle"
+ }
+ ],
+ "id": "2",
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-04-01"
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InvalidRequest",
+ "message": "Invalid Request.",
+ "innererror": {
+ "code": "MissingInputRecords",
+ "message": "Missing input records."
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulEntityLinkingRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulEntityLinkingRequest.json
new file mode 100644
index 000000000000..998ac1d65bab
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulEntityLinkingRequest.json
@@ -0,0 +1,140 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "Microsoft was founded by Bill Gates and Paul Allen."
+ },
+ {
+ "id": "2",
+ "language": "en",
+ "text": "Pike place market is my favorite Seattle attraction."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "entities": [
+ {
+ "dataSource": "Wikipedia",
+ "id": "Bill Gates",
+ "language": "en",
+ "matches": [
+ {
+ "confidenceScore": 0.52,
+ "length": 10,
+ "offset": 25,
+ "text": "Bill Gates"
+ }
+ ],
+ "name": "Bill Gates",
+ "url": "https://en.wikipedia.org/wiki/Bill_Gates"
+ },
+ {
+ "dataSource": "Wikipedia",
+ "id": "Paul Allen",
+ "language": "en",
+ "matches": [
+ {
+ "confidenceScore": 0.54,
+ "length": 10,
+ "offset": 40,
+ "text": "Paul Allen"
+ }
+ ],
+ "name": "Paul Allen",
+ "url": "https://en.wikipedia.org/wiki/Paul_Allen"
+ },
+ {
+ "dataSource": "Wikipedia",
+ "id": "Microsoft",
+ "language": "en",
+ "matches": [
+ {
+ "confidenceScore": 0.49,
+ "length": 9,
+ "offset": 0,
+ "text": "Microsoft"
+ }
+ ],
+ "name": "Microsoft",
+ "url": "https://en.wikipedia.org/wiki/Microsoft"
+ }
+ ],
+ "id": "1",
+ "warnings": []
+ },
+ {
+ "entities": [
+ {
+ "dataSource": "Wikipedia",
+ "id": "Pike Place Market",
+ "language": "en",
+ "matches": [
+ {
+ "confidenceScore": 0.86,
+ "length": 17,
+ "offset": 0,
+ "text": "Pike place market"
+ }
+ ],
+ "name": "Pike Place Market",
+ "url": "https://en.wikipedia.org/wiki/Pike_Place_Market"
+ },
+ {
+ "dataSource": "Wikipedia",
+ "id": "Seattle",
+ "language": "en",
+ "matches": [
+ {
+ "confidenceScore": 0.27,
+ "length": 7,
+ "offset": 33,
+ "text": "Seattle"
+ }
+ ],
+ "name": "Seattle",
+ "url": "https://en.wikipedia.org/wiki/Seattle"
+ }
+ ],
+ "id": "2",
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-02-01"
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InvalidRequest",
+ "message": "Invalid Request.",
+ "innererror": {
+ "code": "MissingInputRecords",
+ "message": "Missing input records."
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulEntityPIIRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulEntityPIIRequest.json
new file mode 100644
index 000000000000..d125525bda91
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulEntityPIIRequest.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "My SSN is 859-98-0987"
+ },
+ {
+ "id": "2",
+ "language": "en",
+ "text": "Your ABA number - 111000025 - is the first 9 digits in the lower left hand corner of your personal check."
+ },
+ {
+ "id": "3",
+ "language": "en",
+ "text": "Is 998.214.865-68 your Brazilian CPF number?"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "1",
+ "redactedText": "My SSN is ***********",
+ "entities": [
+ {
+ "category": "U.S. Social Security Number (SSN)",
+ "confidenceScore": 0.65,
+ "length": 11,
+ "offset": 28,
+ "text": "859-98-0987"
+ }
+ ],
+ "warnings": []
+ },
+ {
+ "id": "2",
+ "redactedText": "Your ABA number - ********* - is the first 9 digits in the lower left hand corner of your personal check.",
+ "entities": [
+ {
+ "category": "ABA Routing Number",
+ "confidenceScore": 0.75,
+ "length": 9,
+ "offset": 18,
+ "text": "111000025"
+ }
+ ],
+ "warnings": []
+ },
+ {
+ "id": "3",
+ "redactedText": "Is ************** your Brazilian CPF number?",
+ "entities": [
+ {
+ "category": "Brazil CPF Number",
+ "confidenceScore": 0.85,
+ "length": 14,
+ "offset": 3,
+ "text": "998.214.865-68"
+ }
+ ],
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2019-10-01"
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InvalidRequest",
+ "message": "Invalid Request.",
+ "innererror": {
+ "code": "MissingInputRecords",
+ "message": "Missing input records."
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulHealthDeleteRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulHealthDeleteRequest.json
new file mode 100644
index 000000000000..569ae75df649
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulHealthDeleteRequest.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "jobId": "{Job ID}"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/text/analytics/v3.1-preview.5/entities/healthcare/jobs/{jobId}"
+ }
+ },
+ "404": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "NotFound",
+ "message": "Not Found",
+ "innererror": {
+ "code": "JobIdNotFound",
+ "message": "Job ID not found."
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulHealthRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulHealthRequest.json
new file mode 100644
index 000000000000..2fa1e9978902
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulHealthRequest.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "jobId": "{Job ID}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "Subject is taking 100mg of ibuprofen twice daily."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/text/analytics/v3.1-preview.5/entities/healthcare/jobs/{jobId}"
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InvalidRequest",
+ "message": "Invalid Request.",
+ "innererror": {
+ "code": "MissingInputRecords",
+ "message": "Missing input records."
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulHealthStatusRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulHealthStatusRequest.json
new file mode 100644
index 000000000000..1bb24e508072
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulHealthStatusRequest.json
@@ -0,0 +1,227 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "jobId": "{Job ID}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "createdDateTime": "2020-10-01T15:01:03Z",
+ "expirationDateTime": "2020-10-03T15:01:03Z",
+ "jobId": "c0f2a446-05d9-48fc-ba8f-3ef4af8d0b18",
+ "lastUpdateDateTime": "2020-10-01T15:01:03Z",
+ "status": "succeeded",
+ "results": {
+ "documents": [
+ {
+ "id": "1",
+ "entities": [
+ {
+ "offset": 18,
+ "length": 5,
+ "text": "100mg",
+ "category": "Dosage",
+ "confidenceScore": 0.99
+ },
+ {
+ "offset": 27,
+ "length": 9,
+ "text": "ibuprofen",
+ "category": "MedicationName",
+ "confidenceScore": 1.0,
+ "assertion": {
+ "certainty": "positive"
+ },
+ "links": [
+ {
+ "id": "C0020740",
+ "dataSource": "UMLS"
+ },
+ {
+ "id": "0000019879",
+ "dataSource": "AOD"
+ },
+ {
+ "id": "M01AE01",
+ "dataSource": "ATC"
+ },
+ {
+ "id": "0046165",
+ "dataSource": "CCPSS"
+ },
+ {
+ "id": "0000006519",
+ "dataSource": "CHV"
+ },
+ {
+ "id": "2270-2077",
+ "dataSource": "CSP"
+ },
+ {
+ "id": "DB01050",
+ "dataSource": "DRUGBANK"
+ },
+ {
+ "id": "1611",
+ "dataSource": "GS"
+ },
+ {
+ "id": "sh97005926",
+ "dataSource": "LCH_NW"
+ },
+ {
+ "id": "LP16165-0",
+ "dataSource": "LNC"
+ },
+ {
+ "id": "40458",
+ "dataSource": "MEDCIN"
+ },
+ {
+ "id": "d00015",
+ "dataSource": "MMSL"
+ },
+ {
+ "id": "D007052",
+ "dataSource": "MSH"
+ },
+ {
+ "id": "WK2XYI10QM",
+ "dataSource": "MTHSPL"
+ },
+ {
+ "id": "C561",
+ "dataSource": "NCI"
+ },
+ {
+ "id": "C561",
+ "dataSource": "NCI_CTRP"
+ },
+ {
+ "id": "00803",
+ "dataSource": "NCI_DCP"
+ },
+ {
+ "id": "NSC0256857",
+ "dataSource": "NCI_DTP"
+ },
+ {
+ "id": "WK2XYI10QM",
+ "dataSource": "NCI_FDA"
+ },
+ {
+ "id": "CDR0000613511",
+ "dataSource": "NCI_NCI-GLOSS"
+ },
+ {
+ "id": "002377",
+ "dataSource": "NDDF"
+ },
+ {
+ "id": "CDR0000040475",
+ "dataSource": "PDQ"
+ },
+ {
+ "id": "x02MO",
+ "dataSource": "RCD"
+ },
+ {
+ "id": "5640",
+ "dataSource": "RXNORM"
+ },
+ {
+ "id": "E-7772",
+ "dataSource": "SNM"
+ },
+ {
+ "id": "C-603C0",
+ "dataSource": "SNMI"
+ },
+ {
+ "id": "387207008",
+ "dataSource": "SNOMEDCT_US"
+ },
+ {
+ "id": "m39860",
+ "dataSource": "USP"
+ },
+ {
+ "id": "MTHU000060",
+ "dataSource": "USPMG"
+ },
+ {
+ "id": "4017840",
+ "dataSource": "VANDF"
+ }
+ ]
+ },
+ {
+ "offset": 37,
+ "length": 11,
+ "text": "twice daily",
+ "category": "Frequency",
+ "confidenceScore": 1
+ }
+ ],
+ "relations": [
+ {
+ "relationType": "DosageOfMedication",
+ "entities": [
+ {
+ "ref": "#/documents/0/entities/0",
+ "role": "Attribute"
+ },
+ {
+ "ref": "#/documents/0/entities/1",
+ "role": "Entity"
+ }
+ ]
+ },
+ {
+ "relationType": "FrequencyOfMedication",
+ "entities": [
+ {
+ "ref": "#/documents/0/entities/2",
+ "role": "Attribute"
+ },
+ {
+ "ref": "#/documents/0/entities/1",
+ "role": "Entity"
+ }
+ ]
+ }
+ ],
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-05-08"
+ }
+ }
+ },
+ "404": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "NotFound",
+ "message": "Not Found",
+ "innererror": {
+ "code": "JobIdNotFound",
+ "message": "Job ID not found."
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulKeyPhrasesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulKeyPhrasesRequest.json
new file mode 100644
index 000000000000..f45b74e027f5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulKeyPhrasesRequest.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "Microsoft was founded by Bill Gates and Paul Allen."
+ },
+ {
+ "id": "2",
+ "language": "en",
+ "text": "Text Analytics is one of the Azure Cognitive Services."
+ },
+ {
+ "id": "3",
+ "language": "en",
+ "text": "My cat might need to see a veterinarian."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "1",
+ "keyPhrases": [
+ "Bill Gates",
+ "Paul Allen",
+ "Microsoft"
+ ],
+ "warnings": []
+ },
+ {
+ "id": "2",
+ "keyPhrases": [
+ "Azure Cognitive Services",
+ "Text Analytics"
+ ],
+ "warnings": []
+ },
+ {
+ "id": "3",
+ "keyPhrases": [
+ "cat",
+ "veterinarian"
+ ],
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2019-10-01"
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InvalidRequest",
+ "message": "Invalid Request.",
+ "innererror": {
+ "code": "MissingInputRecords",
+ "message": "Missing input records."
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulLanguagesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulLanguagesRequest.json
new file mode 100644
index 000000000000..b1077b92db58
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulLanguagesRequest.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "text": "Hello world"
+ },
+ {
+ "id": "2",
+ "text": "Bonjour tout le monde"
+ },
+ {
+ "id": "3",
+ "text": "Hola mundo"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "detectedLanguage": {
+ "confidenceScore": 1,
+ "iso6391Name": "en",
+ "name": "English"
+ },
+ "id": "1",
+ "warnings": []
+ },
+ {
+ "detectedLanguage": {
+ "confidenceScore": 1,
+ "iso6391Name": "fr",
+ "name": "French"
+ },
+ "id": "2",
+ "warnings": []
+ },
+ {
+ "detectedLanguage": {
+ "confidenceScore": 1,
+ "iso6391Name": "es",
+ "name": "Spanish"
+ },
+ "id": "3",
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-04-01"
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InvalidRequest",
+ "message": "Invalid Request.",
+ "innererror": {
+ "code": "MissingInputRecords",
+ "message": "Missing input records."
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulSentimentRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulSentimentRequest.json
new file mode 100644
index 000000000000..c751289f2ac1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.5/examples/SuccessfulSentimentRequest.json
@@ -0,0 +1,160 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "Great atmosphere. Close to plenty of restaurants, hotels, and transit! Staff are friendly and helpful."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "confidenceScores": {
+ "negative": 0,
+ "neutral": 0,
+ "positive": 1
+ },
+ "id": "1",
+ "sentences": [
+ {
+ "targets": [
+ {
+ "confidenceScores": {
+ "negative": 0,
+ "positive": 1
+ },
+ "length": 10,
+ "offset": 6,
+ "relations": [
+ {
+ "ref": "#/documents/0/sentences/0/assessments/0",
+ "relationType": "assessment"
+ }
+ ],
+ "sentiment": "positive",
+ "text": "atmosphere"
+ }
+ ],
+ "confidenceScores": {
+ "negative": 0,
+ "neutral": 0,
+ "positive": 1
+ },
+ "length": 17,
+ "offset": 0,
+ "assessments": [
+ {
+ "confidenceScores": {
+ "negative": 0,
+ "positive": 1
+ },
+ "isNegated": false,
+ "length": 5,
+ "offset": 0,
+ "sentiment": "positive",
+ "text": "great"
+ }
+ ],
+ "sentiment": "positive",
+ "text": "Great atmosphere."
+ },
+ {
+ "targets": [
+ {
+ "confidenceScores": {
+ "negative": 0.01,
+ "positive": 0.99
+ },
+ "length": 11,
+ "offset": 37,
+ "relations": [
+ {
+ "ref": "#/documents/0/sentences/1/assessments/0",
+ "relationType": "assessment"
+ }
+ ],
+ "sentiment": "positive",
+ "text": "restaurants"
+ },
+ {
+ "confidenceScores": {
+ "negative": 0.01,
+ "positive": 0.99
+ },
+ "length": 6,
+ "offset": 50,
+ "relations": [
+ {
+ "ref": "#/documents/0/sentences/1/assessments/0",
+ "relationType": "assessment"
+ }
+ ],
+ "sentiment": "positive",
+ "text": "hotels"
+ }
+ ],
+ "confidenceScores": {
+ "negative": 0.01,
+ "neutral": 0.86,
+ "positive": 0.13
+ },
+ "length": 52,
+ "offset": 18,
+ "assessments": [
+ {
+ "confidenceScores": {
+ "negative": 0.01,
+ "positive": 0.99
+ },
+ "isNegated": false,
+ "length": 15,
+ "offset": 18,
+ "sentiment": "positive",
+ "text": "Close to plenty"
+ }
+ ],
+ "sentiment": "neutral",
+ "text": "Close to plenty of restaurants, hotels, and transit!"
+ }
+ ],
+ "sentiment": "positive",
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-04-01"
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InvalidRequest",
+ "message": "Invalid Request.",
+ "innererror": {
+ "code": "MissingInputRecords",
+ "message": "Missing input records."
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/readme.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/TextAnalytics/readme.md b/specification/cognitiveservices/data-plane/TextAnalytics/readme.md
index a349ea5f0210..3565ecfa5880 100644
--- a/specification/cognitiveservices/data-plane/TextAnalytics/readme.md
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/readme.md
@@ -108,6 +108,14 @@ These settings apply only when `--tag=release_3_1_preview.4` is specified on the
input-file: preview/v3.1-preview.4/TextAnalytics.json
```
+### Release 3.1-Preview.5
+
+These settings apply only when `--tag=release_3_1_preview.5` is specified on the command line.
+
+```yaml $(tag) == 'release_3_1_preview.5'
+input-file: preview/v3.1-preview.5/TextAnalytics.json
+```
+
## Swagger to SDK
This section describes what SDK should be generated by the automatic system.
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/readme.python.md b/specification/cognitiveservices/data-plane/TextAnalytics/readme.python.md
index f1f64c8a2a92..4a0a38e2519f 100644
--- a/specification/cognitiveservices/data-plane/TextAnalytics/readme.python.md
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/readme.python.md
@@ -60,4 +60,10 @@ output-folder: $(python-sdks-folder)/textanalytics/azure-ai-textanalytics/azure/
``` yaml $(tag) == 'release_3_1_preview.4'
namespace: azure.ai.textanalytics.v3_1_preview_4
output-folder: $(python-sdks-folder)/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/v3_1_preview_4
+```
+
+### Tag: release_3_1_preview_5
+``` yaml $(tag) == 'release_3_1_preview.5'
+namespace: azure.ai.textanalytics.v3_1_preview_5
+output-folder: $(python-sdks-folder)/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/v3_1_preview_5
```
\ No newline at end of file
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/Microsoft.CognitiveServices/stable/2017-04-18/examples/CheckSkuAvailability.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/CheckSkuAvailability.json
index d8e7bd7b7cb7..5ff30f99d648 100644
--- a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/CheckSkuAvailability.json
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/CheckSkuAvailability.json
@@ -5,7 +5,7 @@
"location": "westus",
"parameters": {
"skus": [
- "S0"
+ "S"
],
"kind": "Face",
"type": "Microsoft.CognitiveServices/accounts"
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/GetSkus.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/GetSkus.json
index b44ab00bba73..1daed7ba8a3c 100644
--- a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/GetSkus.json
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/GetSkus.json
@@ -329,47 +329,7 @@
},
{
"resourceType": "accounts",
- "name": "S0",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "AUSTRALIAEAST"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "AUSTRALIAEAST"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S2",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "AUSTRALIAEAST"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "AUSTRALIAEAST"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S4",
+ "name": "S",
"tier": "Standard",
"kind": "TextAnalytics",
"locations": [
@@ -469,47 +429,7 @@
},
{
"resourceType": "accounts",
- "name": "S0",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "BRAZILSOUTH"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "BRAZILSOUTH"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S2",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "BRAZILSOUTH"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "BRAZILSOUTH"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S4",
+ "name": "S",
"tier": "Standard",
"kind": "TextAnalytics",
"locations": [
@@ -589,47 +509,7 @@
},
{
"resourceType": "accounts",
- "name": "S0",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "CENTRALUSEUAP"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "CENTRALUSEUAP"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S2",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "CENTRALUSEUAP"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "CENTRALUSEUAP"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S4",
+ "name": "S",
"tier": "Standard",
"kind": "TextAnalytics",
"locations": [
@@ -749,47 +629,7 @@
},
{
"resourceType": "accounts",
- "name": "S0",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "WESTUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "WESTUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S2",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "WESTUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "WESTUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S4",
+ "name": "S",
"tier": "Standard",
"kind": "TextAnalytics",
"locations": [
@@ -929,47 +769,7 @@
},
{
"resourceType": "accounts",
- "name": "S0",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "WESTUS2"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "WESTUS2"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S2",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "WESTUS2"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "WESTUS2"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S4",
+ "name": "S",
"tier": "Standard",
"kind": "TextAnalytics",
"locations": [
@@ -1089,7 +889,7 @@
},
{
"resourceType": "accounts",
- "name": "S0",
+ "name": "S",
"tier": "Standard",
"kind": "TextAnalytics",
"locations": [
@@ -1099,41 +899,41 @@
},
{
"resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "Face",
"locations": [
- "WESTEUROPE"
+ "NORTHEUROPE"
],
"restrictions": []
},
{
"resourceType": "accounts",
- "name": "S2",
+ "name": "S0",
"tier": "Standard",
- "kind": "TextAnalytics",
+ "kind": "Face",
"locations": [
- "WESTEUROPE"
+ "NORTHEUROPE"
],
"restrictions": []
},
{
"resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ComputerVision",
"locations": [
- "WESTEUROPE"
+ "NORTHEUROPE"
],
"restrictions": []
},
{
"resourceType": "accounts",
- "name": "S4",
+ "name": "S1",
"tier": "Standard",
- "kind": "TextAnalytics",
+ "kind": "ComputerVision",
"locations": [
- "WESTEUROPE"
+ "NORTHEUROPE"
],
"restrictions": []
},
@@ -1141,7 +941,7 @@
"resourceType": "accounts",
"name": "F0",
"tier": "Free",
- "kind": "Face",
+ "kind": "ContentModerator",
"locations": [
"NORTHEUROPE"
],
@@ -1151,7 +951,7 @@
"resourceType": "accounts",
"name": "S0",
"tier": "Standard",
- "kind": "Face",
+ "kind": "ContentModerator",
"locations": [
"NORTHEUROPE"
],
@@ -1161,7 +961,7 @@
"resourceType": "accounts",
"name": "F0",
"tier": "Free",
- "kind": "ComputerVision",
+ "kind": "TextAnalytics",
"locations": [
"NORTHEUROPE"
],
@@ -1169,9 +969,9 @@
},
{
"resourceType": "accounts",
- "name": "S1",
+ "name": "S",
"tier": "Standard",
- "kind": "ComputerVision",
+ "kind": "TextAnalytics",
"locations": [
"NORTHEUROPE"
],
@@ -1181,7 +981,7 @@
"resourceType": "accounts",
"name": "F0",
"tier": "Free",
- "kind": "ContentModerator",
+ "kind": "LUIS",
"locations": [
"NORTHEUROPE"
],
@@ -1191,7 +991,7 @@
"resourceType": "accounts",
"name": "S0",
"tier": "Standard",
- "kind": "ContentModerator",
+ "kind": "LUIS",
"locations": [
"NORTHEUROPE"
],
@@ -1201,9 +1001,9 @@
"resourceType": "accounts",
"name": "F0",
"tier": "Free",
- "kind": "TextAnalytics",
+ "kind": "Face",
"locations": [
- "NORTHEUROPE"
+ "SOUTHEASTASIA"
],
"restrictions": []
},
@@ -1211,89 +1011,9 @@
"resourceType": "accounts",
"name": "S0",
"tier": "Standard",
- "kind": "TextAnalytics",
+ "kind": "Face",
"locations": [
- "NORTHEUROPE"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "NORTHEUROPE"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S2",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "NORTHEUROPE"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "NORTHEUROPE"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S4",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "NORTHEUROPE"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "F0",
- "tier": "Free",
- "kind": "LUIS",
- "locations": [
- "NORTHEUROPE"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S0",
- "tier": "Standard",
- "kind": "LUIS",
- "locations": [
- "NORTHEUROPE"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "F0",
- "tier": "Free",
- "kind": "Face",
- "locations": [
- "SOUTHEASTASIA"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S0",
- "tier": "Standard",
- "kind": "Face",
- "locations": [
- "SOUTHEASTASIA"
+ "SOUTHEASTASIA"
],
"restrictions": []
},
@@ -1369,47 +1089,7 @@
},
{
"resourceType": "accounts",
- "name": "S0",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "SOUTHEASTASIA"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "SOUTHEASTASIA"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S2",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "SOUTHEASTASIA"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "SOUTHEASTASIA"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S4",
+ "name": "S",
"tier": "Standard",
"kind": "TextAnalytics",
"locations": [
@@ -1489,47 +1169,7 @@
},
{
"resourceType": "accounts",
- "name": "S0",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "EASTASIA"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "EASTASIA"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S2",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "EASTASIA"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "EASTASIA"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S4",
+ "name": "S",
"tier": "Standard",
"kind": "TextAnalytics",
"locations": [
@@ -1649,47 +1289,7 @@
},
{
"resourceType": "accounts",
- "name": "S0",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "WESTCENTRALUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "WESTCENTRALUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S2",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "WESTCENTRALUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "WESTCENTRALUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S4",
+ "name": "S",
"tier": "Standard",
"kind": "TextAnalytics",
"locations": [
@@ -1769,47 +1369,7 @@
},
{
"resourceType": "accounts",
- "name": "S0",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "SOUTHCENTRALUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "SOUTHCENTRALUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S2",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "SOUTHCENTRALUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "SOUTHCENTRALUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S4",
+ "name": "S",
"tier": "Standard",
"kind": "TextAnalytics",
"locations": [
@@ -1949,7 +1509,7 @@
},
{
"resourceType": "accounts",
- "name": "S0",
+ "name": "S",
"tier": "Standard",
"kind": "TextAnalytics",
"locations": [
@@ -1957,56 +1517,6 @@
],
"restrictions": []
},
- {
- "resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "EASTUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S2",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "EASTUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "EASTUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S4",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "EASTUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "F0",
- "tier": "Free",
- "kind": "LUIS",
- "locations": [
- "EASTUS"
- ],
- "restrictions": []
- },
{
"resourceType": "accounts",
"name": "S0",
@@ -2109,47 +1619,7 @@
},
{
"resourceType": "accounts",
- "name": "S0",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "EASTUS2"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "EASTUS2"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S2",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "EASTUS2"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "EASTUS2"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S4",
+ "name": "S",
"tier": "Standard",
"kind": "TextAnalytics",
"locations": [
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/cognitiveservices.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/cognitiveservices.json
new file mode 100644
index 000000000000..93a179e56746
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/cognitiveservices.json
@@ -0,0 +1,2166 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "CognitiveServicesManagementClient",
+ "description": "Cognitive Services Management Client",
+ "version": "2021-04-30"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}": {
+ "put": {
+ "tags": [
+ "CognitiveServicesAccounts"
+ ],
+ "description": "Create Cognitive Services Account. Accounts is a resource group wide resource type. It holds the keys for developer to access intelligent APIs. It's also the resource type for billing.",
+ "operationId": "Accounts_Create",
+ "x-ms-examples": {
+ "Create Account": {
+ "$ref": "./examples/CreateAccount.json"
+ },
+ "Create Account Min": {
+ "$ref": "./examples/CreateAccountMin.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "name": "account",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Account"
+ },
+ "description": "The parameters to provide for the created account."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is created successfully or already existed, the service should return 200 (OK).",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ },
+ "201": {
+ "description": "If resource is created successfully, the service should return 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "CognitiveServicesAccounts"
+ ],
+ "description": "Updates a Cognitive Services account",
+ "operationId": "Accounts_Update",
+ "x-ms-examples": {
+ "Update Account": {
+ "$ref": "./examples/UpdateAccount.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "name": "account",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Account"
+ },
+ "description": "The parameters to provide for the created account."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "CognitiveServicesAccounts"
+ ],
+ "description": "Deletes a Cognitive Services account from the resource group. ",
+ "operationId": "Accounts_Delete",
+ "x-ms-examples": {
+ "Delete Account": {
+ "$ref": "./examples/DeleteAccount.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A 200 (OK) should be returned if the object exists and was deleted successfully;"
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously."
+ },
+ "204": {
+ "description": "a 204 (NoContent) should be used if the resource does not exist and the request is well formed."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "CognitiveServicesAccounts"
+ ],
+ "description": "Returns a Cognitive Services account specified by the parameters.",
+ "operationId": "Accounts_Get",
+ "x-ms-examples": {
+ "Get Account": {
+ "$ref": "./examples/GetAccount.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. The only GET specific properties are \"name,\" \"type\" and \"id.\"\nField\tDescription\nKind\trequired. String.\n\tThe API set for this API account. It can be \n\t· a single API, for example: Face API, Vision API, Speech API. \n\ta bundle of APIs: Face + Speech, Vision + Emotion, etc.\nsku.name\tRequired.\n\tThe pricing tier/plan of this API. Could be: \n\tF0 - Free\n\tB0 - Basic\n\tS0 - Standard\n\tP0 - Premium\n",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource does not exist, 404 (NotFound) should be returned.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/resourceGroups/{resourceGroupName}/deletedAccounts/{accountName}": {
+ "get": {
+ "tags": [
+ "CognitiveServicesAccounts"
+ ],
+ "description": "Returns a Cognitive Services account specified by the parameters.",
+ "operationId": "DeletedAccounts_Get",
+ "x-ms-examples": {
+ "Get Account": {
+ "$ref": "./examples/GetDeletedAccount.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. The only GET specific properties are \"name,\" \"type\" and \"id.\"\nField\tDescription\nKind\trequired. String.\n\tThe API set for this API account. It can be \n\t· a single API, for example: Face API, Vision API, Speech API. \n\ta bundle of APIs: Face + Speech, Vision + Emotion, etc.\nsku.name\tRequired.\n\tThe pricing tier/plan of this API. Could be: \n\tF0 - Free\n\tB0 - Basic\n\tS0 - Standard\n\tP0 - Premium\n",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource does not exist, 404 (NotFound) should be returned.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "CognitiveServicesAccounts"
+ ],
+ "description": "Deletes a Cognitive Services account from the resource group. ",
+ "operationId": "DeletedAccounts_Purge",
+ "x-ms-examples": {
+ "Delete Account": {
+ "$ref": "./examples/PurgeDeletedAccount.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A 200 (OK) should be returned if the object exists and was deleted successfully;"
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously."
+ },
+ "204": {
+ "description": "a 204 (NoContent) should be used if the resource does not exist and the request is well formed."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts": {
+ "get": {
+ "tags": [
+ "CognitiveServicesAccounts"
+ ],
+ "description": "Returns all the resources of a particular type belonging to a resource group",
+ "operationId": "Accounts_ListByResourceGroup",
+ "x-ms-examples": {
+ "List Accounts by Resource Group": {
+ "$ref": "./examples/ListAccountsByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with \"value\" property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.\nThe nextLink should be implemented using following query parameters:\n· skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.\n· top: the optional client query parameter which defines the maximum number of records to be returned by the server.\nImplementation details:\n· NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. \n· Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. \nClients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.",
+ "schema": {
+ "$ref": "#/definitions/AccountListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/accounts": {
+ "get": {
+ "tags": [
+ "CognitiveServicesAccounts"
+ ],
+ "description": "Returns all the resources of a particular type belonging to a subscription.",
+ "operationId": "Accounts_List",
+ "x-ms-examples": {
+ "List Accounts by Subscription": {
+ "$ref": "./examples/ListAccountsBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses. If a resource provider does not support paging, it should return the same body but leave nextLink empty for future compatibility.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. ",
+ "schema": {
+ "$ref": "#/definitions/AccountListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/deletedAccounts": {
+ "get": {
+ "tags": [
+ "CognitiveServicesAccounts"
+ ],
+ "description": "Returns all the resources of a particular type belonging to a subscription.",
+ "operationId": "DeletedAccounts_List",
+ "x-ms-examples": {
+ "List Deleted Accounts by Subscription": {
+ "$ref": "./examples/ListAccountsBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses. If a resource provider does not support paging, it should return the same body but leave nextLink empty for future compatibility.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. ",
+ "schema": {
+ "$ref": "#/definitions/AccountListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/listKeys": {
+ "post": {
+ "tags": [
+ "CognitiveServicesAccounts"
+ ],
+ "operationId": "Accounts_ListKeys",
+ "description": "Lists the account keys for the specified Cognitive Services account.",
+ "x-ms-examples": {
+ "List Keys": {
+ "$ref": "./examples/ListKeys.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns with a response body containing the subscription keys for the resource: key1\nThe first API key for authentication when client calls the API endpoint.\n\nkey2\nThe second API key for authentication when client calls the API endpoint.",
+ "schema": {
+ "$ref": "#/definitions/ApiKeys"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/regenerateKey": {
+ "post": {
+ "tags": [
+ "CognitiveServicesAccounts"
+ ],
+ "operationId": "Accounts_RegenerateKey",
+ "description": "Regenerates the specified account key for the specified Cognitive Services account.",
+ "x-ms-examples": {
+ "Regenerate Keys": {
+ "$ref": "./examples/RegenerateKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateKeyParameters"
+ },
+ "description": "regenerate key parameters."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "schema": {
+ "$ref": "#/definitions/ApiKeys"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/skus": {
+ "get": {
+ "tags": [
+ "Skus",
+ "CognitiveServicesAccounts"
+ ],
+ "operationId": "ResourceSkus_List",
+ "description": "Gets the list of Microsoft.CognitiveServices SKUs available for your Subscription.",
+ "x-ms-examples": {
+ "Regenerate Keys": {
+ "$ref": "./examples/GetSkus.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ResourceSkuListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/skus": {
+ "get": {
+ "tags": [
+ "CognitiveServicesAccounts"
+ ],
+ "description": "List available SKUs for the requested Cognitive Services account",
+ "x-ms-examples": {
+ "List SKUs": {
+ "$ref": "./examples/ListSkus.json"
+ }
+ },
+ "operationId": "Accounts_ListSkus",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. The only GET specific properties are \"name,\" \"type\" and \"id.\"\nField\tDescription\nsku\tRequired, object\n\tThe exact set of keys that define this sku. This matches the fields on the respective resource.\nsku.name\tRequired, string\n\tThe name of the SKU. This is typically a letter + number code, such as A0 or P3\nsku.tier\tRequired, string\n\tThe tier of this particular SKU. Typically one of:\n\t· Free\n\t· Basic\n\t· Standard\n\t· Premium\n",
+ "schema": {
+ "$ref": "#/definitions/AccountSkuListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource does not exist, 404 (NotFound) will be returned.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/usages": {
+ "get": {
+ "tags": [
+ "CognitiveServicesAccounts"
+ ],
+ "description": "Get usages for the requested Cognitive Services account",
+ "x-ms-examples": {
+ "Get Usages": {
+ "$ref": "./examples/GetUsages.json"
+ }
+ },
+ "operationId": "Accounts_ListUsages",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/usageFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The usages for Cognitive Services account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/UsageListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource does not exist, 404 (NotFound) will be returned.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.CognitiveServices/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all the available Cognitive Services account operations.",
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "Get Operations": {
+ "$ref": "./examples/GetOperations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/checkSkuAvailability": {
+ "post": {
+ "tags": [
+ "CognitiveServicesAccounts"
+ ],
+ "operationId": "CheckSkuAvailability",
+ "description": "Check available SKUs.",
+ "x-ms-examples": {
+ "Check SKU Availability": {
+ "$ref": "./examples/CheckSkuAvailability.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/CheckSkuAvailabilityParameter"
+ },
+ "description": "Check SKU Availability POST body."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/SkuAvailabilityListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/checkDomainAvailability": {
+ "post": {
+ "tags": [
+ "CognitiveServicesAccounts"
+ ],
+ "operationId": "CheckDomainAvailability",
+ "description": "Check whether a domain is available.",
+ "x-ms-examples": {
+ "Check SKU Availability": {
+ "$ref": "./examples/CheckDomainAvailability.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/CheckDomainAvailabilityParameter"
+ },
+ "description": "Check Domain Availability parameter."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/DomainAvailability"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_List",
+ "description": "Gets the private endpoint connections associated with the Cognitive Services account.",
+ "x-ms-examples": {
+ "GetPrivateEndpointConnection": {
+ "$ref": "./examples/ListPrivateEndpointConnections.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved private endpoint connections.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Get",
+ "description": "Gets the specified private endpoint connection associated with the Cognitive Services account.",
+ "x-ms-examples": {
+ "GetPrivateEndpointConnection": {
+ "$ref": "./examples/GetPrivateEndpointConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Get the private endpoint connection properties successfully.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_CreateOrUpdate",
+ "description": "Update the state of specified private endpoint connection associated with the Cognitive Services account.",
+ "x-ms-examples": {
+ "PutPrivateEndpointConnection": {
+ "$ref": "./examples/PutPrivateEndpointConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionNameParameter"
+ },
+ {
+ "name": "properties",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "The private endpoint connection properties."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Update the private endpoint connection properties successfully.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Delete",
+ "description": "Deletes the specified private endpoint connection associated with the Cognitive Services account.",
+ "x-ms-examples": {
+ "DeletePrivateEndpointConnection": {
+ "$ref": "./examples/DeletePrivateEndpointConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Delete the private endpoint connection successfully."
+ },
+ "202": {
+ "description": "Accepted -- the operation was successfully started and will complete asynchronously."
+ },
+ "204": {
+ "description": "No Content -- The private endpoint connection does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "operationId": "PrivateLinkResources_List",
+ "description": "Gets the private link resources that need to be created for a Cognitive Services account.",
+ "x-ms-examples": {
+ "ListPrivateLinkResources": {
+ "$ref": "./examples/ListPrivateLinkResources.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved private link resources.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Kind": {
+ "type": "string",
+ "description": "The kind (type) of cognitive service account."
+ },
+ "Sku": {
+ "description": "The resource model definition representing SKU",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the SKU. Ex - P3. It is typically a letter+number code"
+ },
+ "tier": {
+ "type": "string",
+ "enum": [
+ "Free",
+ "Basic",
+ "Standard",
+ "Premium",
+ "Enterprise"
+ ],
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ },
+ "description": "This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT."
+ },
+ "size": {
+ "type": "string",
+ "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. "
+ },
+ "family": {
+ "type": "string",
+ "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here."
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted."
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "SkuName": {
+ "type": "string",
+ "description": "The name of SKU."
+ },
+ "Account": {
+ "description": "Cognitive Services account is an Azure resource representing the provisioned account, it's type, location and SKU.",
+ "type": "object",
+ "properties": {
+ "kind": {
+ "$ref": "#/definitions/Kind",
+ "description": "The Kind of the resource."
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku"
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Resource tags."
+ },
+ "location": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "description": "The geo-location where the resource lives"
+ },
+ "properties": {
+ "$ref": "#/definitions/AccountProperties",
+ "description": "Properties of Cognitive Services account."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/AzureEntityResource"
+ }
+ ]
+ },
+ "AccountListResult": {
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The link used to get the next page of accounts.",
+ "type": "string"
+ },
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Account"
+ },
+ "description": "Gets the list of Cognitive Services accounts and their properties."
+ }
+ },
+ "description": "The list of cognitive services accounts operation response."
+ },
+ "AccountProperties": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gets the status of the cognitive services account at the time the operation was called.",
+ "enum": [
+ "Accepted",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed",
+ "Succeeded",
+ "ResolvingDNS"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "endpoint": {
+ "type": "string",
+ "description": "Endpoint of the created account.",
+ "readOnly": true
+ },
+ "internalId": {
+ "type": "string",
+ "description": "The internal identifier (deprecated, do not use this property).",
+ "readOnly": true
+ },
+ "capabilities": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuCapability"
+ },
+ "description": "Gets the capabilities of the cognitive services account. Each item indicates the capability of a specific feature. The values are read-only and for reference only."
+ },
+ "isMigrated": {
+ "type": "boolean",
+ "description": "If the resource is migrated from an existing key.",
+ "readOnly": true
+ },
+ "migrationToken": {
+ "type": "string",
+ "description": "Resource migration token."
+ },
+ "skuChangeInfo": {
+ "$ref": "#/definitions/SkuChangeInfo",
+ "description": "Sku change info of account.",
+ "readOnly": true
+ },
+ "customSubDomainName": {
+ "type": "string",
+ "description": "Optional subdomain name used for token-based authentication."
+ },
+ "networkAcls": {
+ "$ref": "#/definitions/NetworkRuleSet",
+ "description": "A collection of rules governing the accessibility from specific network locations."
+ },
+ "encryption": {
+ "$ref": "#/definitions/Encryption",
+ "description": "The encryption properties for this resource."
+ },
+ "userOwnedStorage": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserOwnedStorage"
+ },
+ "description": "The storage accounts for this resource."
+ },
+ "privateEndpointConnections": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "The private endpoint connection associated with the Cognitive Services account."
+ },
+ "publicNetworkAccess": {
+ "type": "string",
+ "description": "Whether or not public endpoint access is allowed for this account. Value is optional but if passed in, must be 'Enabled' or 'Disabled'",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ }
+ },
+ "apiProperties": {
+ "$ref": "#/definitions/ApiProperties",
+ "description": "The api properties for special APIs."
+ },
+ "dateCreated": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gets the date of cognitive services account creation."
+ },
+ "callRateLimit": {
+ "readOnly": true,
+ "$ref": "#/definitions/CallRateLimit"
+ },
+ "quotaLimit": {
+ "readOnly": true,
+ "$ref": "#/definitions/QuotaLimit"
+ },
+ "restrictOutboundNetworkAccess": {
+ "type": "boolean"
+ },
+ "allowedFqdnList": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "disableLocalAuth": {
+ "type": "boolean"
+ },
+ "endpoints": {
+ "readOnly": true,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "restore": {
+ "type": "boolean"
+ }
+ },
+ "description": "Properties of Cognitive Services account."
+ },
+ "ApiProperties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "properties": {
+ "qnaRuntimeEndpoint": {
+ "type": "string",
+ "description": "(QnAMaker Only) The runtime endpoint of QnAMaker."
+ },
+ "qnaAzureSearchEndpointKey": {
+ "type": "string",
+ "description": "(QnAMaker Only) The Azure Search endpoint key of QnAMaker."
+ },
+ "qnaAzureSearchEndpointId": {
+ "type": "string",
+ "description": "(QnAMaker Only) The Azure Search endpoint id of QnAMaker."
+ },
+ "statisticsEnabled": {
+ "type": "boolean",
+ "description": "(Bing Search Only) The flag to enable statistics of Bing Search."
+ },
+ "eventHubConnectionString": {
+ "type": "string",
+ "description": "(Personalization Only) The flag to enable statistics of Bing Search.",
+ "pattern": "^( *)Endpoint=sb://(.*);( *)SharedAccessKeyName=(.*);( *)SharedAccessKey=(.*)$",
+ "maxLength": 1000
+ },
+ "storageAccountConnectionString": {
+ "type": "string",
+ "description": "(Personalization Only) The storage account connection string.",
+ "pattern": "^(( *)DefaultEndpointsProtocol=(http|https)( *);( *))?AccountName=(.*)AccountKey=(.*)EndpointSuffix=(.*)$",
+ "maxLength": 1000
+ },
+ "aadClientId": {
+ "type": "string",
+ "description": "(Metrics Advisor Only) The Azure AD Client Id (Application Id).",
+ "maxLength": 500
+ },
+ "aadTenantId": {
+ "type": "string",
+ "description": "(Metrics Advisor Only) The Azure AD Tenant Id.",
+ "maxLength": 500
+ },
+ "superUser": {
+ "type": "string",
+ "description": "(Metrics Advisor Only) The super user of Metrics Advisor.",
+ "maxLength": 500
+ },
+ "websiteName": {
+ "type": "string",
+ "description": "(Metrics Advisor Only) The website name of Metrics Advisor.",
+ "maxLength": 500
+ }
+ },
+ "description": "The api properties for special APIs."
+ },
+ "CallRateLimit": {
+ "type": "object",
+ "properties": {
+ "count": {
+ "type": "number",
+ "description": "The count value of Call Rate Limit."
+ },
+ "renewalPeriod": {
+ "type": "number",
+ "description": "The renewal period in seconds of Call Rate Limit."
+ },
+ "rules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ThrottlingRule"
+ }
+ }
+ },
+ "description": "The call rate limit Cognitive Services account."
+ },
+ "QuotaLimit": {
+ "type": "object",
+ "properties": {
+ "count": {
+ "type": "number"
+ },
+ "renewalPeriod": {
+ "type": "number"
+ },
+ "rules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ThrottlingRule"
+ }
+ }
+ }
+ },
+ "ThrottlingRule": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "renewalPeriod": {
+ "type": "number"
+ },
+ "count": {
+ "type": "number"
+ },
+ "minCount": {
+ "type": "number"
+ },
+ "dynamicThrottlingEnabled": {
+ "type": "boolean"
+ },
+ "matchPatterns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RequestMatchPattern"
+ }
+ }
+ }
+ },
+ "RequestMatchPattern": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string"
+ },
+ "method": {
+ "type": "string"
+ }
+ }
+ },
+ "ApiKeys": {
+ "type": "object",
+ "properties": {
+ "key1": {
+ "type": "string",
+ "description": "Gets the value of key 1."
+ },
+ "key2": {
+ "type": "string",
+ "description": "Gets the value of key 2."
+ }
+ },
+ "description": "The access keys for the cognitive services account."
+ },
+ "SkuChangeInfo": {
+ "type": "object",
+ "properties": {
+ "countOfDowngrades": {
+ "type": "number",
+ "description": "Gets the count of downgrades."
+ },
+ "countOfUpgradesAfterDowngrades": {
+ "type": "number",
+ "description": "Gets the count of upgrades after downgrades."
+ },
+ "lastChangeDate": {
+ "type": "string",
+ "description": "Gets the last change date."
+ }
+ },
+ "description": "Sku change info of account."
+ },
+ "RegenerateKeyParameters": {
+ "type": "object",
+ "properties": {
+ "keyName": {
+ "type": "string",
+ "description": "key name to generate (Key1|Key2)",
+ "enum": [
+ "Key1",
+ "Key2"
+ ],
+ "x-ms-enum": {
+ "name": "KeyName",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "keyName"
+ ],
+ "description": "Regenerate key parameters."
+ },
+ "AccountSkuListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AccountSku"
+ },
+ "description": "Gets the list of Cognitive Services accounts and their properties."
+ }
+ },
+ "description": "The list of cognitive services accounts operation response."
+ },
+ "AccountSku": {
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "type": "string",
+ "description": "Resource Namespace and Type"
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU of Cognitive Services account."
+ }
+ },
+ "description": "Cognitive Services resource type and SKU."
+ },
+ "UsageListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Usage"
+ },
+ "description": "The list of usages for Cognitive Service account."
+ }
+ },
+ "description": "The response to a list usage request."
+ },
+ "Usage": {
+ "type": "object",
+ "properties": {
+ "unit": {
+ "description": "The unit of the metric.",
+ "$ref": "#/definitions/UnitType"
+ },
+ "name": {
+ "$ref": "#/definitions/MetricName",
+ "description": "The name information for the metric."
+ },
+ "quotaPeriod": {
+ "type": "string",
+ "description": "The quota period used to summarize the usage values."
+ },
+ "limit": {
+ "type": "number",
+ "format": "double",
+ "description": "Maximum value for this metric."
+ },
+ "currentValue": {
+ "type": "number",
+ "format": "double",
+ "description": "Current value for this metric."
+ },
+ "nextResetTime": {
+ "type": "string",
+ "description": "Next reset time for current quota."
+ },
+ "status": {
+ "type": "string",
+ "description": "Cognitive Services account quota usage status.",
+ "enum": [
+ "Included",
+ "Blocked",
+ "InOverage",
+ "Unknown"
+ ],
+ "x-ms-enum": {
+ "name": "QuotaUsageStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "The usage data for a usage request."
+ },
+ "MetricName": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The name of the metric."
+ },
+ "localizedValue": {
+ "type": "string",
+ "description": "The friendly name of the metric."
+ }
+ },
+ "description": "A metric name."
+ },
+ "UnitType": {
+ "type": "string",
+ "description": "The unit of the metric.",
+ "enum": [
+ "Count",
+ "Bytes",
+ "Seconds",
+ "Percent",
+ "CountPerSecond",
+ "BytesPerSecond",
+ "Milliseconds"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "UnitType"
+ }
+ },
+ "CheckSkuAvailabilityParameter": {
+ "type": "object",
+ "description": "Check SKU availability parameter.",
+ "properties": {
+ "skus": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuName"
+ },
+ "description": "The SKU of the resource."
+ },
+ "kind": {
+ "$ref": "#/definitions/Kind",
+ "description": "The Kind of the resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "The Type of the resource."
+ }
+ },
+ "required": [
+ "skus",
+ "kind",
+ "type"
+ ]
+ },
+ "SkuAvailabilityListResult": {
+ "type": "object",
+ "description": "Check SKU availability result list.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuAvailability"
+ },
+ "description": "Check SKU availability result list."
+ }
+ }
+ },
+ "SkuAvailability": {
+ "type": "object",
+ "description": "SKU availability.",
+ "properties": {
+ "kind": {
+ "$ref": "#/definitions/Kind",
+ "description": "The Kind of the resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "The Type of the resource."
+ },
+ "skuName": {
+ "$ref": "#/definitions/SkuName",
+ "description": "The SKU of Cognitive Services account."
+ },
+ "skuAvailable": {
+ "type": "boolean",
+ "description": "Indicates the given SKU is available or not."
+ },
+ "reason": {
+ "type": "string",
+ "description": "Reason why the SKU is not available."
+ },
+ "message": {
+ "type": "string",
+ "description": "Additional error message."
+ }
+ }
+ },
+ "SkuCapability": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the SkuCapability."
+ },
+ "value": {
+ "type": "string",
+ "description": "The value of the SkuCapability."
+ }
+ },
+ "description": "SkuCapability indicates the capability of a certain feature."
+ },
+ "CheckDomainAvailabilityParameter": {
+ "type": "object",
+ "description": "Check Domain availability parameter.",
+ "properties": {
+ "subdomainName": {
+ "type": "string",
+ "description": "The subdomain name to use."
+ },
+ "type": {
+ "type": "string",
+ "description": "The Type of the resource."
+ }
+ },
+ "required": [
+ "subdomainName",
+ "type"
+ ]
+ },
+ "DomainAvailability": {
+ "type": "object",
+ "description": "Domain availability.",
+ "properties": {
+ "isSubdomainAvailable": {
+ "type": "boolean",
+ "description": "Indicates the given SKU is available or not."
+ },
+ "reason": {
+ "type": "string",
+ "description": "Reason why the SKU is not available."
+ },
+ "subdomainName": {
+ "type": "string",
+ "description": "The subdomain name to use."
+ },
+ "type": {
+ "type": "string",
+ "description": "The Type of the resource."
+ }
+ }
+ },
+ "ResourceSkuRestrictions": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The type of restrictions.",
+ "enum": [
+ "Location",
+ "Zone"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceSkuRestrictionsType",
+ "modelAsString": false
+ }
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted."
+ },
+ "restrictionInfo": {
+ "$ref": "#/definitions/ResourceSkuRestrictionInfo",
+ "description": "The information about the restriction where the SKU cannot be used."
+ },
+ "reasonCode": {
+ "type": "string",
+ "description": "The reason for restriction.",
+ "enum": [
+ "QuotaId",
+ "NotAvailableForSubscription"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceSkuRestrictionsReasonCode",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Describes restrictions of a SKU."
+ },
+ "ResourceSku": {
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "type": "string",
+ "description": "The type of resource the SKU applies to."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of SKU."
+ },
+ "tier": {
+ "type": "string",
+ "description": "Specifies the tier of Cognitive Services account."
+ },
+ "kind": {
+ "type": "string",
+ "description": "The Kind of resources that are supported in this SKU."
+ },
+ "locations": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The set of locations that the SKU is available."
+ },
+ "restrictions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceSkuRestrictions"
+ },
+ "description": "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions."
+ }
+ },
+ "description": "Describes an available Cognitive Services SKU."
+ },
+ "ResourceSkuRestrictionInfo": {
+ "type": "object",
+ "properties": {
+ "locations": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Locations where the SKU is restricted"
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of availability zones where the SKU is restricted."
+ }
+ }
+ },
+ "ResourceSkuListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceSku"
+ },
+ "description": "The list of skus available for the subscription."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of Skus."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The Get Skus operation response."
+ },
+ "NetworkRuleSet": {
+ "type": "object",
+ "properties": {
+ "defaultAction": {
+ "type": "string",
+ "description": "The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after the bypass property has been evaluated.",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkRuleAction",
+ "modelAsString": true
+ }
+ },
+ "ipRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpRule"
+ },
+ "description": "The list of IP address rules."
+ },
+ "virtualNetworkRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkRule"
+ },
+ "description": "The list of virtual network rules."
+ }
+ },
+ "description": "A set of rules governing the network accessibility."
+ },
+ "IpRule": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or '124.56.78.0/24' (all addresses that start with 124.56.78)."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "A rule governing the accessibility from a specific ip address or ip range."
+ },
+ "VirtualNetworkRule": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Full resource id of a vnet subnet, such as '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'."
+ },
+ "state": {
+ "type": "string",
+ "description": "Gets the state of virtual network rule."
+ },
+ "ignoreMissingVnetServiceEndpoint": {
+ "type": "boolean",
+ "description": "Ignore missing vnet service endpoint or not."
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "description": "A rule governing the accessibility from a specific virtual network."
+ },
+ "Identity": {
+ "type": "object",
+ "description": "Identity for the resource.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The identity type.",
+ "enum": [
+ "None",
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant ID of resource."
+ },
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal ID of resource identity."
+ },
+ "userAssignedIdentities": {
+ "description": "The list of user assigned identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}",
+ "type": "object",
+ "additionalProperties": {
+ "description": "User-assigned managed identity.",
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ }
+ }
+ },
+ "UserAssignedIdentity": {
+ "type": "object",
+ "description": "User-assigned managed identity.",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Azure Active Directory principal ID associated with this Identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Client App Id associated with this identity."
+ }
+ }
+ },
+ "Encryption": {
+ "type": "object",
+ "properties": {
+ "keyVaultProperties": {
+ "$ref": "#/definitions/KeyVaultProperties",
+ "description": "Properties of KeyVault"
+ },
+ "keySource": {
+ "type": "string",
+ "description": "Enumerates the possible value of keySource for Encryption",
+ "default": "Microsoft.KeyVault",
+ "enum": [
+ "Microsoft.CognitiveServices",
+ "Microsoft.KeyVault"
+ ],
+ "x-ms-enum": {
+ "name": "keySource",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Properties to configure Encryption"
+ },
+ "KeyVaultProperties": {
+ "type": "object",
+ "properties": {
+ "keyName": {
+ "type": "string",
+ "description": "Name of the Key from KeyVault"
+ },
+ "keyVersion": {
+ "type": "string",
+ "description": "Version of the Key from KeyVault"
+ },
+ "keyVaultUri": {
+ "type": "string",
+ "description": "Uri of KeyVault"
+ },
+ "identityClientId": {
+ "type": "string"
+ }
+ },
+ "description": "Properties to configure keyVault Properties"
+ },
+ "UserOwnedStorage": {
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "Full resource id of a Microsoft.Storage resource."
+ },
+ "identityClientId": {
+ "type": "string"
+ }
+ },
+ "description": "The user owned storage for Cognitive Services account."
+ },
+ "PrivateEndpointConnectionListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private endpoint connections",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ },
+ "description": "A list of private endpoint connections"
+ },
+ "PrivateEndpointConnection": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "Resource properties."
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ },
+ "location": {
+ "type": "string",
+ "description": "The location of the private endpoint connection"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/AzureEntityResource"
+ }
+ ],
+ "description": "The Private Endpoint Connection resource."
+ },
+ "PrivateEndpointConnectionProperties": {
+ "type": "object",
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpoint",
+ "description": "The resource of private end point."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateLinkServiceConnectionState",
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ },
+ "provisioningState": {
+ "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnectionProvisioningState",
+ "description": "The provisioning state of the private endpoint connection resource."
+ },
+ "groupIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The private link resource group ids."
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ],
+ "description": "Properties of the PrivateEndpointConnectProperties."
+ },
+ "PrivateLinkResourceListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private link resources",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ }
+ },
+ "description": "A list of private link resources"
+ },
+ "PrivateLinkResource": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "Resource properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "A private link resource"
+ },
+ "PrivateLinkResourceProperties": {
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "description": "The private link resource group id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requiredMembers": {
+ "description": "The private link resource required member names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "requiredZoneNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The private link resource Private link DNS zone name."
+ },
+ "displayName": {
+ "description": "The private link resource display name.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "description": "Properties of a private link resource."
+ }
+ },
+ "parameters": {
+ "accountNameParameter": {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$",
+ "description": "The name of Cognitive Services account.",
+ "x-ms-parameter-location": "method"
+ },
+ "locationParameter": {
+ "name": "location",
+ "in": "path",
+ "description": "Resource location.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "usageFilterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData filter expression that describes a subset of usages to return. The supported parameter is name.value (name of the metric, can have an or of multiple names).",
+ "x-ms-parameter-location": "method"
+ },
+ "privateEndpointConnectionNameParameter": {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection associated with the Cognitive Services Account",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/CheckDomainAvailability.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/CheckDomainAvailability.json
new file mode 100644
index 000000000000..fd28b9feb382
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/CheckDomainAvailability.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2021-04-30",
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "location": "westus",
+ "parameters": {
+ "subdomainName": "contosodemoapp1",
+ "type": "Microsoft.CognitiveServices/accounts"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isSubdomainAvailable": false,
+ "reason": "Sub domain name 'contosodemoapp1' is not valid",
+ "subdomainName": "contosodemoapp1",
+ "type": "Microsoft.CognitiveServices/accounts"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/CheckSkuAvailability.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/CheckSkuAvailability.json
new file mode 100644
index 000000000000..5048c5ca5ddb
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/CheckSkuAvailability.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-04-30",
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "location": "westus",
+ "parameters": {
+ "skus": [
+ "S0"
+ ],
+ "kind": "Face",
+ "type": "Microsoft.CognitiveServices/accounts"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "kind": "Face",
+ "type": "Microsoft.CognitiveServices/accounts",
+ "skuName": "S0",
+ "skuAvailable": true,
+ "reason": null,
+ "message": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/CreateAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/CreateAccount.json
new file mode 100644
index 000000000000..c0abce84738d
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/CreateAccount.json
@@ -0,0 +1,140 @@
+{
+ "parameters": {
+ "api-version": "2021-04-30",
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "testCreate1",
+ "account": {
+ "location": "West US",
+ "kind": "Emotion",
+ "sku": {
+ "name": "S0"
+ },
+ "properties": {
+ "encryption": {
+ "keyVaultProperties": {
+ "keyName": "KeyName",
+ "keyVersion": "891CF236-D241-4738-9462-D506AF493DFA",
+ "keyVaultUri": "https://pltfrmscrts-use-pc-dev.vault.azure.net/"
+ },
+ "keySource": "Microsoft.KeyVault"
+ },
+ "userOwnedStorage": [
+ {
+ "resourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount"
+ }
+ ]
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/testCreate1",
+ "name": "testCreate1",
+ "type": "Microsoft.CognitiveServices/accounts",
+ "location": "West US",
+ "sku": {
+ "name": "S0"
+ },
+ "kind": "Emotion",
+ "etag": "W/\"datetime'2017-04-10T08%3A00%3A05.445595Z'\"",
+ "properties": {
+ "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0",
+ "provisioningState": "Succeeded",
+ "encryption": {
+ "keySource": "Microsoft.KeyVault",
+ "keyVaultProperties": {
+ "keyName": "FakeKeyName",
+ "keyVersion": "891CF236-D241-4738-9462-D506AF493DFA",
+ "keyVaultUri": "https://pltfrmscrts-use-pc-dev.vault.azure.net/"
+ }
+ },
+ "userOwnedStorage": [
+ {
+ "resourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount"
+ }
+ ]
+ },
+ "identity": {
+ "principalId": "b5cf119e-a5c2-42c7-802f-592e0efb169f",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/testCreate1",
+ "name": "testCreate1",
+ "type": "Microsoft.CognitiveServices/accounts",
+ "location": "West US",
+ "sku": {
+ "name": "S0"
+ },
+ "kind": "Emotion",
+ "etag": "W/\"datetime'2017-04-10T07%3A57%3A48.4582781Z'\"",
+ "properties": {
+ "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0",
+ "provisioningState": "Succeeded",
+ "encryption": {
+ "keySource": "Microsoft.KeyVault",
+ "keyVaultProperties": {
+ "keyName": "FakeKeyName",
+ "keyVersion": "891CF236-D241-4738-9462-D506AF493DFA",
+ "keyVaultUri": "https://pltfrmscrts-use-pc-dev.vault.azure.net/"
+ }
+ },
+ "userOwnedStorage": [
+ {
+ "resourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount"
+ }
+ ]
+ },
+ "identity": {
+ "principalId": "b5cf119e-a5c2-42c7-802f-592e0efb169f",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/testCreate1",
+ "name": "testCreate1",
+ "type": "Microsoft.CognitiveServices/accounts",
+ "location": "West US",
+ "sku": {
+ "name": "S0"
+ },
+ "kind": "Emotion",
+ "etag": "W/\"datetime'2017-04-10T07%3A57%3A48.4582781Z'\"",
+ "properties": {
+ "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0",
+ "provisioningState": "Succeeded",
+ "encryption": {
+ "keySource": "Microsoft.KeyVault",
+ "keyVaultProperties": {
+ "keyName": "FakeKeyName",
+ "keyVersion": "891CF236-D241-4738-9462-D506AF493DFA",
+ "keyVaultUri": "https://pltfrmscrts-use-pc-dev.vault.azure.net/"
+ }
+ },
+ "userOwnedStorage": [
+ {
+ "resourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount"
+ }
+ ]
+ },
+ "identity": {
+ "principalId": "b5cf119e-a5c2-42c7-802f-592e0efb169f",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "type": "SystemAssigned"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/CreateAccountMin.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/CreateAccountMin.json
new file mode 100644
index 000000000000..4f70576cc046
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/CreateAccountMin.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "api-version": "2021-04-30",
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "testCreate1",
+ "account": {
+ "location": "West US",
+ "kind": "CognitiveServices",
+ "sku": {
+ "name": "S0"
+ },
+ "properties": {},
+ "identity": {
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/testCreate1",
+ "name": "testCreate1",
+ "type": "Microsoft.CognitiveServices/accounts",
+ "location": "West US",
+ "sku": {
+ "name": "S0"
+ },
+ "kind": "Emotion",
+ "etag": "W/\"datetime'2017-04-10T08%3A00%3A05.445595Z'\"",
+ "properties": {
+ "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0",
+ "provisioningState": "Succeeded"
+ },
+ "identity": {
+ "principalId": "b5cf119e-a5c2-42c7-802f-592e0efb169f",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/testCreate1",
+ "name": "testCreate1",
+ "type": "Microsoft.CognitiveServices/accounts",
+ "location": "West US",
+ "sku": {
+ "name": "S0"
+ },
+ "kind": "Emotion",
+ "etag": "W/\"datetime'2017-04-10T07%3A57%3A48.4582781Z'\"",
+ "properties": {
+ "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0",
+ "provisioningState": "Succeeded"
+ },
+ "identity": {
+ "principalId": "b5cf119e-a5c2-42c7-802f-592e0efb169f",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/testCreate1",
+ "name": "testCreate1",
+ "type": "Microsoft.CognitiveServices/accounts",
+ "location": "West US",
+ "sku": {
+ "name": "S0"
+ },
+ "kind": "Emotion",
+ "etag": "W/\"datetime'2017-04-10T07%3A57%3A48.4582781Z'\"",
+ "properties": {
+ "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0",
+ "provisioningState": "Succeeded"
+ },
+ "identity": {
+ "principalId": "b5cf119e-a5c2-42c7-802f-592e0efb169f",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "type": "SystemAssigned"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/DeleteAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/DeleteAccount.json
new file mode 100644
index 000000000000..9ef6f2cfe52e
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/DeleteAccount.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-04-30",
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "PropTest01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/DeletePrivateEndpointConnection.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/DeletePrivateEndpointConnection.json
new file mode 100644
index 000000000000..a66b35c8dab7
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/DeletePrivateEndpointConnection.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res6977",
+ "accountName": "sto2527",
+ "privateEndpointConnectionName": "{privateEndpointConnectionName}",
+ "api-version": "2021-04-30",
+ "monitor": "true"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/GetAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/GetAccount.json
new file mode 100644
index 000000000000..759986188a6f
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/GetAccount.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-04-30",
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myAccount"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/myAccount",
+ "name": "myAccount",
+ "type": "Microsoft.CognitiveServices/accounts",
+ "location": "westus",
+ "sku": {
+ "name": "F0"
+ },
+ "kind": "Emotion",
+ "tags": {
+ "Owner": "felixwa",
+ "ExpiredDate": "2017/09/01"
+ },
+ "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"",
+ "properties": {
+ "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/GetDeletedAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/GetDeletedAccount.json
new file mode 100644
index 000000000000..55e033d774a0
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/GetDeletedAccount.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-04-30",
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myAccount",
+ "location": "westus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/Microsoft.CognitiveServices/locations/westus/resourceGroups/myResourceGroup/deletedAccounts/myAccount",
+ "name": "myAccount",
+ "type": "Microsoft.CognitiveServices/accounts",
+ "location": "westus",
+ "sku": {
+ "name": "F0"
+ },
+ "kind": "Emotion",
+ "tags": {
+ "Owner": "felixwa",
+ "ExpiredDate": "2017/09/01"
+ },
+ "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"",
+ "properties": {
+ "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/GetOperations.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/GetOperations.json
new file mode 100644
index 000000000000..feeb95c2bdb5
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/GetOperations.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2021-04-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.CognitiveServices/accounts/read",
+ "display": {
+ "provider": "Microsoft Cognitive Services",
+ "resource": "Cognitive Services API Account",
+ "operation": "Read API Account",
+ "description": "Reads API accounts."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.CognitiveServices/accounts/write",
+ "display": {
+ "provider": "Microsoft Cognitive Services",
+ "resource": "Cognitive Services API Account",
+ "operation": "Write API Account",
+ "description": "Writes API Accounts."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.CognitiveServices/accounts/delete",
+ "display": {
+ "provider": "Microsoft Cognitive Services",
+ "resource": "Cognitive Services API Account",
+ "operation": "Delete API Account",
+ "description": "Deletes API accounts"
+ },
+ "origin": "user,system"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/GetPrivateEndpointConnection.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/GetPrivateEndpointConnection.json
new file mode 100644
index 000000000000..ca5b42f2d4da
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/GetPrivateEndpointConnection.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res6977",
+ "accountName": "sto2527",
+ "privateEndpointConnectionName": "{privateEndpointConnectionName}",
+ "api-version": "2021-04-30",
+ "monitor": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.CognitiveServices/accounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}",
+ "name": "{privateEndpointConnectionName}",
+ "type": "Microsoft.CognitiveServices/accounts/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/GetSkus.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/GetSkus.json
new file mode 100644
index 000000000000..d8afa28a033a
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/GetSkus.json
@@ -0,0 +1,2164 @@
+{
+ "parameters": {
+ "api-version": "2021-04-30",
+ "subscriptionId": "f1c637e4-72ec-4f89-8d2b-0f933c036002"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "Bing.Speech",
+ "locations": [
+ "GLOBAL"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "Bing.Speech",
+ "locations": [
+ "GLOBAL"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "SpeechTranslation",
+ "locations": [
+ "GLOBAL"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "SpeechTranslation",
+ "locations": [
+ "GLOBAL"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S2",
+ "tier": "Standard",
+ "kind": "SpeechTranslation",
+ "locations": [
+ "GLOBAL"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S3",
+ "tier": "Standard",
+ "kind": "SpeechTranslation",
+ "locations": [
+ "GLOBAL"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S4",
+ "tier": "Standard",
+ "kind": "SpeechTranslation",
+ "locations": [
+ "GLOBAL"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "TextTranslation",
+ "locations": [
+ "GLOBAL"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "TextTranslation",
+ "locations": [
+ "GLOBAL"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S2",
+ "tier": "Standard",
+ "kind": "TextTranslation",
+ "locations": [
+ "GLOBAL"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S3",
+ "tier": "Standard",
+ "kind": "TextTranslation",
+ "locations": [
+ "GLOBAL"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S4",
+ "tier": "Standard",
+ "kind": "TextTranslation",
+ "locations": [
+ "GLOBAL"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "Bing.Search.v7",
+ "locations": [
+ "GLOBAL"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S2",
+ "tier": "Standard",
+ "kind": "Bing.Search.v7",
+ "locations": [
+ "GLOBAL"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S3",
+ "tier": "Standard",
+ "kind": "Bing.Search.v7",
+ "locations": [
+ "GLOBAL"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S4",
+ "tier": "Standard",
+ "kind": "Bing.Search.v7",
+ "locations": [
+ "GLOBAL"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S5",
+ "tier": "Standard",
+ "kind": "Bing.Search.v7",
+ "locations": [
+ "GLOBAL"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S6",
+ "tier": "Standard",
+ "kind": "Bing.Search.v7",
+ "locations": [
+ "GLOBAL"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S7",
+ "tier": "Standard",
+ "kind": "Bing.Search.v7",
+ "locations": [
+ "GLOBAL"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S8",
+ "tier": "Standard",
+ "kind": "Bing.Search.v7",
+ "locations": [
+ "GLOBAL"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "Bing.Autosuggest.v7",
+ "locations": [
+ "GLOBAL"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "Bing.CustomSearch",
+ "locations": [
+ "GLOBAL"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "Bing.SpellCheck.v7",
+ "locations": [
+ "GLOBAL"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "Bing.EntitySearch",
+ "locations": [
+ "GLOBAL"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "Bing.EntitySearch",
+ "locations": [
+ "GLOBAL"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "Face",
+ "locations": [
+ "AUSTRALIAEAST"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "Face",
+ "locations": [
+ "AUSTRALIAEAST"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ComputerVision",
+ "locations": [
+ "AUSTRALIAEAST"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "ComputerVision",
+ "locations": [
+ "AUSTRALIAEAST"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ContentModerator",
+ "locations": [
+ "AUSTRALIAEAST"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "ContentModerator",
+ "locations": [
+ "AUSTRALIAEAST"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "TextAnalytics",
+ "locations": [
+ "AUSTRALIAEAST"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "AUSTRALIAEAST"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "AUSTRALIAEAST"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S2",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "AUSTRALIAEAST"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S3",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "AUSTRALIAEAST"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S4",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "AUSTRALIAEAST"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "LUIS",
+ "locations": [
+ "AUSTRALIAEAST"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "LUIS",
+ "locations": [
+ "AUSTRALIAEAST"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "Face",
+ "locations": [
+ "BRAZILSOUTH"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "Face",
+ "locations": [
+ "BRAZILSOUTH"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ComputerVision",
+ "locations": [
+ "BRAZILSOUTH"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "ComputerVision",
+ "locations": [
+ "BRAZILSOUTH"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ContentModerator",
+ "locations": [
+ "BRAZILSOUTH"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "ContentModerator",
+ "locations": [
+ "BRAZILSOUTH"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "TextAnalytics",
+ "locations": [
+ "BRAZILSOUTH"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "BRAZILSOUTH"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "BRAZILSOUTH"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S2",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "BRAZILSOUTH"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S3",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "BRAZILSOUTH"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S4",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "BRAZILSOUTH"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "LUIS",
+ "locations": [
+ "BRAZILSOUTH"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "LUIS",
+ "locations": [
+ "BRAZILSOUTH"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "Face",
+ "locations": [
+ "CENTRALUSEUAP"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "Face",
+ "locations": [
+ "CENTRALUSEUAP"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ComputerVision",
+ "locations": [
+ "CENTRALUSEUAP"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "ComputerVision",
+ "locations": [
+ "CENTRALUSEUAP"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "TextAnalytics",
+ "locations": [
+ "CENTRALUSEUAP"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "CENTRALUSEUAP"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "CENTRALUSEUAP"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S2",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "CENTRALUSEUAP"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S3",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "CENTRALUSEUAP"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S4",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "CENTRALUSEUAP"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ContentModerator",
+ "locations": [
+ "CENTRALUSEUAP"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "ContentModerator",
+ "locations": [
+ "CENTRALUSEUAP"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "LUIS",
+ "locations": [
+ "CENTRALUSEUAP"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "LUIS",
+ "locations": [
+ "CENTRALUSEUAP"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ContentModerator",
+ "locations": [
+ "WESTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "ContentModerator",
+ "locations": [
+ "WESTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "LUIS",
+ "locations": [
+ "WESTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "LUIS",
+ "locations": [
+ "WESTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "Face",
+ "locations": [
+ "WESTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "Face",
+ "locations": [
+ "WESTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "TextAnalytics",
+ "locations": [
+ "WESTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "WESTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "WESTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S2",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "WESTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S3",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "WESTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S4",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "WESTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "SpeakerRecognition",
+ "locations": [
+ "WESTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "SpeakerRecognition",
+ "locations": [
+ "WESTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "CustomSpeech",
+ "locations": [
+ "WESTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S2",
+ "tier": "Standard",
+ "kind": "CustomSpeech",
+ "locations": [
+ "WESTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ComputerVision",
+ "locations": [
+ "WESTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "ComputerVision",
+ "locations": [
+ "WESTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "Face",
+ "locations": [
+ "WESTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "Face",
+ "locations": [
+ "WESTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ComputerVision",
+ "locations": [
+ "WESTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "ComputerVision",
+ "locations": [
+ "WESTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ContentModerator",
+ "locations": [
+ "WESTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "ContentModerator",
+ "locations": [
+ "WESTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "TextAnalytics",
+ "locations": [
+ "WESTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "WESTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "WESTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S2",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "WESTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S3",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "WESTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S4",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "WESTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "LUIS",
+ "locations": [
+ "WESTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "LUIS",
+ "locations": [
+ "WESTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "Face",
+ "locations": [
+ "WESTEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "Face",
+ "locations": [
+ "WESTEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "LUIS",
+ "locations": [
+ "WESTEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "LUIS",
+ "locations": [
+ "WESTEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ContentModerator",
+ "locations": [
+ "WESTEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "ContentModerator",
+ "locations": [
+ "WESTEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ComputerVision",
+ "locations": [
+ "WESTEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "ComputerVision",
+ "locations": [
+ "WESTEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "TextAnalytics",
+ "locations": [
+ "WESTEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "WESTEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "WESTEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S2",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "WESTEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S3",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "WESTEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S4",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "WESTEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "Face",
+ "locations": [
+ "NORTHEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "Face",
+ "locations": [
+ "NORTHEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ComputerVision",
+ "locations": [
+ "NORTHEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "ComputerVision",
+ "locations": [
+ "NORTHEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ContentModerator",
+ "locations": [
+ "NORTHEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "ContentModerator",
+ "locations": [
+ "NORTHEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "TextAnalytics",
+ "locations": [
+ "NORTHEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "NORTHEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "NORTHEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S2",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "NORTHEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S3",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "NORTHEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S4",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "NORTHEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "LUIS",
+ "locations": [
+ "NORTHEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "LUIS",
+ "locations": [
+ "NORTHEUROPE"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "Face",
+ "locations": [
+ "SOUTHEASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "Face",
+ "locations": [
+ "SOUTHEASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ContentModerator",
+ "locations": [
+ "SOUTHEASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "ContentModerator",
+ "locations": [
+ "SOUTHEASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "LUIS",
+ "locations": [
+ "SOUTHEASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "LUIS",
+ "locations": [
+ "SOUTHEASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ComputerVision",
+ "locations": [
+ "SOUTHEASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "ComputerVision",
+ "locations": [
+ "SOUTHEASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "TextAnalytics",
+ "locations": [
+ "SOUTHEASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "SOUTHEASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "SOUTHEASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S2",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "SOUTHEASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S3",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "SOUTHEASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S4",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "SOUTHEASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "Face",
+ "locations": [
+ "EASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "Face",
+ "locations": [
+ "EASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ComputerVision",
+ "locations": [
+ "EASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "ComputerVision",
+ "locations": [
+ "EASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ContentModerator",
+ "locations": [
+ "EASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "ContentModerator",
+ "locations": [
+ "EASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "TextAnalytics",
+ "locations": [
+ "EASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "EASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "EASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S2",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "EASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S3",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "EASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S4",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "EASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "LUIS",
+ "locations": [
+ "EASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "LUIS",
+ "locations": [
+ "EASTASIA"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "Face",
+ "locations": [
+ "WESTCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "Face",
+ "locations": [
+ "WESTCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ContentModerator",
+ "locations": [
+ "WESTCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "ContentModerator",
+ "locations": [
+ "WESTCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "LUIS",
+ "locations": [
+ "WESTCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "LUIS",
+ "locations": [
+ "WESTCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ComputerVision",
+ "locations": [
+ "WESTCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "ComputerVision",
+ "locations": [
+ "WESTCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "TextAnalytics",
+ "locations": [
+ "WESTCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "WESTCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "WESTCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S2",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "WESTCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S3",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "WESTCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S4",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "WESTCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "Face",
+ "locations": [
+ "SOUTHCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "Face",
+ "locations": [
+ "SOUTHCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ComputerVision",
+ "locations": [
+ "SOUTHCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "ComputerVision",
+ "locations": [
+ "SOUTHCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ContentModerator",
+ "locations": [
+ "SOUTHCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "ContentModerator",
+ "locations": [
+ "SOUTHCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "TextAnalytics",
+ "locations": [
+ "SOUTHCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "SOUTHCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "SOUTHCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S2",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "SOUTHCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S3",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "SOUTHCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S4",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "SOUTHCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "LUIS",
+ "locations": [
+ "SOUTHCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "LUIS",
+ "locations": [
+ "SOUTHCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "CustomVision.Training",
+ "locations": [
+ "SOUTHCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "CustomVision.Training",
+ "locations": [
+ "SOUTHCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "CustomVision.Prediction",
+ "locations": [
+ "SOUTHCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "CustomVision.Prediction",
+ "locations": [
+ "SOUTHCENTRALUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "Face",
+ "locations": [
+ "EASTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "Face",
+ "locations": [
+ "EASTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ComputerVision",
+ "locations": [
+ "EASTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "ComputerVision",
+ "locations": [
+ "EASTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ContentModerator",
+ "locations": [
+ "EASTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "ContentModerator",
+ "locations": [
+ "EASTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "TextAnalytics",
+ "locations": [
+ "EASTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "EASTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "EASTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S2",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "EASTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S3",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "EASTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S4",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "EASTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "LUIS",
+ "locations": [
+ "EASTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "LUIS",
+ "locations": [
+ "EASTUS"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ContentModerator",
+ "locations": [
+ "EASTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "ContentModerator",
+ "locations": [
+ "EASTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "Face",
+ "locations": [
+ "EASTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "Face",
+ "locations": [
+ "EASTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "LUIS",
+ "locations": [
+ "EASTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "LUIS",
+ "locations": [
+ "EASTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ComputerVision",
+ "locations": [
+ "EASTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "ComputerVision",
+ "locations": [
+ "EASTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "TextAnalytics",
+ "locations": [
+ "EASTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S0",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "EASTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S1",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "EASTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S2",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "EASTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S3",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "EASTUS2"
+ ],
+ "restrictions": []
+ },
+ {
+ "resourceType": "accounts",
+ "name": "S4",
+ "tier": "Standard",
+ "kind": "TextAnalytics",
+ "locations": [
+ "EASTUS2"
+ ],
+ "restrictions": []
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/GetUsages.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/GetUsages.json
new file mode 100644
index 000000000000..10c730650e04
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/GetUsages.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-04-30",
+ "subscriptionId": "5a4f5c2e-6983-4ccb-bd34-2196d5b5bbd3",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "TestUsage02"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": {
+ "value": "Face.Transactions",
+ "localizedValue": "Face.Transactions"
+ },
+ "status": "Included",
+ "currentValue": 3,
+ "limit": 30000,
+ "nextResetTime": "2018-03-28T09:33:51Z",
+ "quotaPeriod": "30.00:00:00",
+ "unit": "Count"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/ListAccountsByResourceGroup.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/ListAccountsByResourceGroup.json
new file mode 100644
index 000000000000..5f08b2196518
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/ListAccountsByResourceGroup.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2021-04-30",
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "resourceGroupName": "myResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/myAccount",
+ "name": "myAccount",
+ "type": "Microsoft.CognitiveServices/accounts",
+ "location": "westus",
+ "sku": {
+ "name": "F0"
+ },
+ "kind": "Emotion",
+ "tags": {
+ "Owner": "felixwa",
+ "ExpiredDate": "2017/09/01"
+ },
+ "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"",
+ "properties": {
+ "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/TestPropertyWU2",
+ "name": "TestPropertyWU2",
+ "type": "Microsoft.CognitiveServices/accounts",
+ "location": "westus",
+ "sku": {
+ "name": "S0"
+ },
+ "kind": "Face",
+ "tags": {},
+ "etag": "W/\"datetime'2017-04-07T04%3A32%3A38.9187216Z'\"",
+ "properties": {
+ "endpoint": "https://westus.api.cognitive.microsoft.com/face/v1.0",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/ListAccountsBySubscription.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/ListAccountsBySubscription.json
new file mode 100644
index 000000000000..2596697fac3c
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/ListAccountsBySubscription.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2021-04-30",
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/bingSearch",
+ "name": "bingSearch",
+ "type": "Microsoft.CognitiveServices/accounts",
+ "location": "global",
+ "sku": {
+ "name": "S1"
+ },
+ "kind": "Bing.Search",
+ "etag": "W/\"datetime'2017-03-27T11%3A19%3A08.762494Z'\"",
+ "properties": {
+ "endpoint": "https://api.cognitive.microsoft.com/bing/v5.0",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/CrisProd",
+ "name": "CrisProd",
+ "type": "Microsoft.CognitiveServices/accounts",
+ "location": "westus",
+ "sku": {
+ "name": "S0"
+ },
+ "kind": "CRIS",
+ "tags": {
+ "can't delete it successfully": "v-yunjin"
+ },
+ "etag": "W/\"datetime'2017-03-31T08%3A57%3A07.4499566Z'\"",
+ "properties": {
+ "endpoint": "https://westus.api.cognitive.microsoft.com/sts/v1.0",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/rayrptest0308",
+ "name": "rayrptest0308",
+ "type": "Microsoft.CognitiveServices/accounts",
+ "location": "westus",
+ "sku": {
+ "name": "S0"
+ },
+ "kind": "Face",
+ "etag": "W/\"datetime'2017-03-27T11%3A15%3A23.5232645Z'\"",
+ "properties": {
+ "endpoint": "https://westus.api.cognitive.microsoft.com/face/v1.0",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/raytest02",
+ "name": "raytest02",
+ "type": "Microsoft.CognitiveServices/accounts",
+ "location": "westus",
+ "sku": {
+ "name": "S0"
+ },
+ "kind": "Emotion",
+ "etag": "W/\"datetime'2017-04-04T02%3A07%3A07.3957572Z'\"",
+ "properties": {
+ "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/ListKeys.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/ListKeys.json
new file mode 100644
index 000000000000..2a03c0e64aa7
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/ListKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2021-04-30",
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myAccount"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key1": "KEY1",
+ "key2": "KEY2"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/ListPrivateEndpointConnections.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/ListPrivateEndpointConnections.json
new file mode 100644
index 000000000000..039a1894fc6f
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/ListPrivateEndpointConnections.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res6977",
+ "accountName": "sto2527",
+ "api-version": "2021-04-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.CognitiveServices/accounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}",
+ "name": "{privateEndpointConnectionName}",
+ "type": "Microsoft.CognitiveServices/accounts/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/ListPrivateLinkResources.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/ListPrivateLinkResources.json
new file mode 100644
index 000000000000..c3a4f2766585
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/ListPrivateLinkResources.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res6977",
+ "accountName": "sto2527",
+ "api-version": "2021-04-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.CognitiveServices/accounts/sto2527/privateLinkResources/account",
+ "name": "blob",
+ "type": "Microsoft.CognitiveServices/accounts/privateLinkResources",
+ "properties": {
+ "groupId": "account",
+ "requiredMembers": [
+ "default"
+ ],
+ "requiredZoneNames": [
+ "privatelink.cognitiveservices.azure.com"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/ListSkus.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/ListSkus.json
new file mode 100644
index 000000000000..94d0f63205e3
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/ListSkus.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-04-30",
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myAccount"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "Microsoft.CognitiveServices/accounts",
+ "sku": {
+ "name": "F0",
+ "tier": "Free"
+ }
+ },
+ {
+ "resourceType": "Microsoft.CognitiveServices/accounts",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/PurgeDeletedAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/PurgeDeletedAccount.json
new file mode 100644
index 000000000000..5a439ad8c41f
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/PurgeDeletedAccount.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-04-30",
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "PropTest01",
+ "location": "westus"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/PutPrivateEndpointConnection.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/PutPrivateEndpointConnection.json
new file mode 100644
index 000000000000..a6f8a1a23f40
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/PutPrivateEndpointConnection.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res7687",
+ "accountName": "sto9699",
+ "privateEndpointConnectionName": "{privateEndpointConnectionName}",
+ "api-version": "2021-04-30",
+ "monitor": "true",
+ "properties": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.CognitiveServices/accounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}",
+ "name": "{privateEndpointConnectionName}",
+ "type": "Microsoft.CognitiveServices/accounts/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.CognitiveServices/accounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}",
+ "name": "{privateEndpointConnectionName}",
+ "type": "Microsoft.CognitiveServices/accounts/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/RegenerateKey.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/RegenerateKey.json
new file mode 100644
index 000000000000..6f2c8b9acb41
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/RegenerateKey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-04-30",
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myAccount",
+ "parameters": {
+ "keyName": "Key2"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key1": "KEY1",
+ "key2": "KEY2"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/UpdateAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/UpdateAccount.json
new file mode 100644
index 000000000000..d2cfec18c150
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-04-30/examples/UpdateAccount.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2021-04-30",
+ "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "resourceGroupName": "bvttest",
+ "accountName": "bingSearch",
+ "account": {
+ "location": "global",
+ "sku": {
+ "name": "S2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/bingSearch",
+ "name": "bingSearch",
+ "type": "Microsoft.CognitiveServices/accounts",
+ "location": "global",
+ "sku": {
+ "name": "S2"
+ },
+ "kind": "Bing.Search",
+ "etag": "W/\"datetime'2017-04-10T07%3A46%3A21.5618831Z'\"",
+ "properties": {
+ "endpoint": "https://api.cognitive.microsoft.com/bing/v5.0",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/bingSearch",
+ "name": "bingSearch",
+ "type": "Microsoft.CognitiveServices/accounts",
+ "location": "global",
+ "sku": {
+ "name": "S2"
+ },
+ "kind": "Bing.Search",
+ "etag": "W/\"datetime'2017-04-10T07%3A46%3A21.5618831Z'\"",
+ "properties": {
+ "endpoint": "https://api.cognitive.microsoft.com/bing/v5.0",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/readme.azureresourceschema.md b/specification/cognitiveservices/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index b39fda607747..000000000000
--- a/specification/cognitiveservices/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,36 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-cognitiveservices-2017-04-18
- - tag: schema-cognitiveservices-2016-02-01-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-cognitiveservices-2017-04-18 and azureresourceschema
-
-``` yaml $(tag) == 'schema-cognitiveservices-2017-04-18' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json
-
-```
-
-### Tag: schema-cognitiveservices-2016-02-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-cognitiveservices-2016-02-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.CognitiveServices/preview/2016-02-01-preview/cognitiveservices.json
-
-```
diff --git a/specification/cognitiveservices/resource-manager/readme.go.md b/specification/cognitiveservices/resource-manager/readme.go.md
index 53b03ae33d05..4b6500b266ac 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
```
@@ -13,10 +13,20 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-04
- tag: package-2017-04
- tag: package-2016-02-preview
```
+### Tag: package-2021-04 and go
+
+These settings apply only when `--tag=package-2021-04 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-04' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-04-30/$(namespace)
+```
+
### Tag: package-2017-04 and go
These settings apply only when `--tag=package-2017-04 --go` is specified on the command line.
diff --git a/specification/cognitiveservices/resource-manager/readme.md b/specification/cognitiveservices/resource-manager/readme.md
index 6a6be724ecc5..fe2aad3a95f4 100644
--- a/specification/cognitiveservices/resource-manager/readme.md
+++ b/specification/cognitiveservices/resource-manager/readme.md
@@ -27,10 +27,19 @@ These are the global settings for the CognitiveServices API.
``` yaml
openapi-type: arm
-tag: package-2017-04
+tag: package-2021-04
```
+### Tag: package-2021-04
+
+These settings apply only when `--tag=package-2021-04` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-04'
+input-file:
+- Microsoft.CognitiveServices/stable/2021-04-30/cognitiveservices.json
+```
+
### Tag: package-2017-04
These settings apply only when `--tag=package-2017-04` is specified on the command line.
@@ -63,6 +72,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
@@ -71,8 +81,6 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_cognitive_services']
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js cognitiveservices/resource-manager
```
@@ -90,6 +98,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)
@@ -144,7 +156,5 @@ generate-interface: true
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/commerce/resource-manager/readme.azureresourceschema.md b/specification/commerce/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index 10ddf94097fb..000000000000
--- a/specification/commerce/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,24 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-commerce-2015-06-01-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-commerce-2015-06-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-commerce-2015-06-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Commerce/preview/2015-06-01-preview/commerce.json
-
-```
diff --git a/specification/commerce/resource-manager/readme.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/commerce/resource-manager/readme.md b/specification/commerce/resource-manager/readme.md
index ac7b98eabc54..78eeba4be483 100644
--- a/specification/commerce/resource-manager/readme.md
+++ b/specification/commerce/resource-manager/readme.md
@@ -70,8 +70,6 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_commerce']
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js commerce/resource-manager
```
@@ -155,7 +153,5 @@ generate-interface: true
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/common-types/resource-management/v2/privatelinks.json b/specification/common-types/resource-management/v2/privatelinks.json
new file mode 100644
index 000000000000..be415f3555ea
--- /dev/null
+++ b/specification/common-types/resource-management/v2/privatelinks.json
@@ -0,0 +1,174 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2.0",
+ "title": "Common types"
+ },
+ "paths": {},
+ "definitions": {
+ "PrivateEndpoint": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ARM identifier for Private Endpoint"
+ }
+ },
+ "description": "The Private Endpoint resource."
+ },
+ "PrivateEndpointConnection": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "x-ms-client-flatten": true,
+ "description": "Resource properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./types.json#/definitions/Resource"
+ }
+ ],
+ "description": "The Private Endpoint Connection resource."
+ },
+ "PrivateEndpointConnectionProperties": {
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "The resource of private end point."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState",
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState",
+ "description": "The provisioning state of the private endpoint connection resource."
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ],
+ "description": "Properties of the PrivateEndpointConnectProperties."
+ },
+ "PrivateLinkServiceConnectionState": {
+ "properties": {
+ "status": {
+ "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus",
+ "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service."
+ },
+ "description": {
+ "type": "string",
+ "description": "The reason for approval/rejection of the connection."
+ },
+ "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."
+ },
+ "PrivateEndpointServiceConnectionStatus": {
+ "type": "string",
+ "description": "The private endpoint connection status.",
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointServiceConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "PrivateEndpointConnectionProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointConnectionProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "PrivateLinkResource": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./types.json#/definitions/Resource"
+ }
+ ],
+ "description": "A private link resource"
+ },
+ "PrivateLinkResourceProperties": {
+ "properties": {
+ "groupId": {
+ "description": "The private link resource group id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requiredMembers": {
+ "description": "The private link resource required member names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "requiredZoneNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The private link resource Private link DNS zone name."
+ }
+ },
+ "description": "Properties of a private link resource."
+ },
+ "PrivateEndpointConnectionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private endpoint connections",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ },
+ "description": "List of private endpoint connection associated with the specified storage account"
+ },
+ "PrivateLinkResourceListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private link resources",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ }
+ },
+ "description": "A list of private link resources"
+ }
+ },
+ "parameters": {
+ "PrivateEndpointConnectionName": {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection associated with the Azure resource",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/communicationserviceschat.json b/specification/communication/data-plane/Chat/preview/2020-09-21-preview2/communicationserviceschat.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/communicationserviceschat.json
rename to specification/communication/data-plane/Chat/preview/2020-09-21-preview2/communicationserviceschat.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Conversations_ListChatReadReceipts.json b/specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Conversations_ListChatReadReceipts.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Conversations_ListChatReadReceipts.json
rename to specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Conversations_ListChatReadReceipts.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Conversations_SendChatReadReceipt.json b/specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Conversations_SendChatReadReceipt.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Conversations_SendChatReadReceipt.json
rename to specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Conversations_SendChatReadReceipt.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_DeleteChatMessage.json b/specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Messages_DeleteChatMessage.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_DeleteChatMessage.json
rename to specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Messages_DeleteChatMessage.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_GetChatMessage.json b/specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Messages_GetChatMessage.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_GetChatMessage.json
rename to specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Messages_GetChatMessage.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_ListChatMessagesWithPageSize.json b/specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Messages_ListChatMessagesWithPageSize.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_ListChatMessagesWithPageSize.json
rename to specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Messages_ListChatMessagesWithPageSize.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_SendChatMessage.json b/specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Messages_SendChatMessage.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_SendChatMessage.json
rename to specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Messages_SendChatMessage.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_SendTypingNotification.json b/specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Messages_SendTypingNotification.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_SendTypingNotification.json
rename to specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Messages_SendTypingNotification.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_UpdateChatMessage.json b/specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Messages_UpdateChatMessage.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Messages_UpdateChatMessage.json
rename to specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Messages_UpdateChatMessage.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/ThreadMembers_AddChatThreadMembers.json b/specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/ThreadMembers_AddChatThreadMembers.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/ThreadMembers_AddChatThreadMembers.json
rename to specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/ThreadMembers_AddChatThreadMembers.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/ThreadMembers_ListChatThreadMembers.json b/specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/ThreadMembers_ListChatThreadMembers.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/ThreadMembers_ListChatThreadMembers.json
rename to specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/ThreadMembers_ListChatThreadMembers.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/ThreadMembers_RemoveChatThreadMember.json b/specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/ThreadMembers_RemoveChatThreadMember.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/ThreadMembers_RemoveChatThreadMember.json
rename to specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/ThreadMembers_RemoveChatThreadMember.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_CreateChatThread.json b/specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Threads_CreateChatThread.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_CreateChatThread.json
rename to specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Threads_CreateChatThread.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_DeleteChatThread.json b/specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Threads_DeleteChatThread.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_DeleteChatThread.json
rename to specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Threads_DeleteChatThread.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_GetChatThread.json b/specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Threads_GetChatThread.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_GetChatThread.json
rename to specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Threads_GetChatThread.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_ListChatThreadsWithPageSize.json b/specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Threads_ListChatThreadsWithPageSize.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_ListChatThreadsWithPageSize.json
rename to specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Threads_ListChatThreadsWithPageSize.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_UpdateChatThreadTopic.json b/specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Threads_UpdateChatThreadTopic.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-09-21-preview2/examples/Threads_UpdateChatThreadTopic.json
rename to specification/communication/data-plane/Chat/preview/2020-09-21-preview2/examples/Threads_UpdateChatThreadTopic.json
diff --git a/specification/communication/data-plane/Chat/preview/2020-11-01-preview3/communicationserviceschat.json b/specification/communication/data-plane/Chat/preview/2020-11-01-preview3/communicationserviceschat.json
new file mode 100644
index 000000000000..ca14efb9e7ce
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2020-11-01-preview3/communicationserviceschat.json
@@ -0,0 +1,1703 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Communication Chat Service",
+ "description": "Azure Communication Chat Service",
+ "version": "2020-11-01-preview3"
+ },
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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/{chatParticipantId}": {
+ "delete": {
+ "tags": [
+ "Participants"
+ ],
+ "summary": "Remove a participant from a thread.",
+ "operationId": "ChatThread_RemoveChatParticipant",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Thread id to remove the participant from.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "chatParticipantId",
+ "description": "Id of the thread participant to remove from the thread.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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_CreateChatThreadWithRepeatabilityRequestId.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/ChatThreadsInfoCollection"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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_UpdateChatThread",
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Update chat thread topic": {
+ "$ref": "./examples/Threads_UpdateChatThreadTopic.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Gets a chat thread.",
+ "operationId": "Chat_GetChatThread",
+ "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/ChatThread"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Delete chat thread": {
+ "$ref": "./examples/Threads_DeleteChatThread.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ChatMessageReadReceipt": {
+ "description": "A chat message read receipt indicates the time a chat message was read by a recipient.",
+ "required": [
+ "chatMessageId",
+ "readOn",
+ "senderId"
+ ],
+ "type": "object",
+ "properties": {
+ "senderId": {
+ "description": "Id of the participant who read the message.",
+ "type": "string",
+ "example": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ },
+ "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
+ }
+ }
+ },
+ "Error": {
+ "$ref": "../../../Common/preview/2020-11-19-preview1/common.json#/definitions/CommunicationError"
+ },
+ "ErrorResponse": {
+ "$ref": "../../../Common/preview/2020-11-19-preview1/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": [
+ "id"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The id of the chat participant.",
+ "type": "string",
+ "example": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ },
+ "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"
+ }
+ },
+ "initiator": {
+ "description": "Chat message content for messages of types participantAdded or participantRemoved.",
+ "type": "string",
+ "example": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ },
+ "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"
+ },
+ "senderId": {
+ "description": "The id of the chat message sender.",
+ "type": "string",
+ "example": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "AddChatParticipantsErrors": {
+ "description": "Errors encountered during the addition of the chat participant to the chat thread.",
+ "required": [
+ "invalidParticipants"
+ ],
+ "type": "object",
+ "properties": {
+ "invalidParticipants": {
+ "description": "The participants that failed to be added to the chat thread.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "AddChatParticipantsResult": {
+ "description": "Result of the add chat participants operation.",
+ "type": "object",
+ "properties": {
+ "errors": {
+ "$ref": "#/definitions/AddChatParticipantsErrors"
+ }
+ }
+ },
+ "CreateChatThreadRequest": {
+ "description": "Request payload for creating a chat thread.",
+ "required": [
+ "participants",
+ "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"
+ }
+ }
+ }
+ },
+ "ChatThread": {
+ "description": "Chat thread.",
+ "required": [
+ "createdBy",
+ "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"
+ },
+ "createdBy": {
+ "description": "Id of the chat thread owner.",
+ "type": "string",
+ "example": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ },
+ "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"
+ }
+ }
+ },
+ "CreateChatThreadErrors": {
+ "description": "Errors encountered during the creation of the chat thread.",
+ "type": "object",
+ "properties": {
+ "invalidParticipants": {
+ "description": "The participants that failed to be added to the chat thread.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Error"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "CreateChatThreadResult": {
+ "description": "Result of the create chat thread operation.",
+ "type": "object",
+ "properties": {
+ "chatThread": {
+ "$ref": "#/definitions/ChatThread"
+ },
+ "errors": {
+ "$ref": "#/definitions/CreateChatThreadErrors"
+ }
+ }
+ },
+ "ChatThreadInfo": {
+ "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"
+ }
+ }
+ },
+ "ChatThreadsInfoCollection": {
+ "description": "Collection of chat threads.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of chat threads.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatThreadInfo"
+ }
+ },
+ "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/2020-11-01-preview3/examples/Conversations_ListChatReadReceiptsWithPageSize.json b/specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Conversations_ListChatReadReceiptsWithPageSize.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Conversations_ListChatReadReceiptsWithPageSize.json
rename to specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Conversations_ListChatReadReceiptsWithPageSize.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Conversations_SendChatReadReceipt.json b/specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Conversations_SendChatReadReceipt.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Conversations_SendChatReadReceipt.json
rename to specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Conversations_SendChatReadReceipt.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Messages_DeleteChatMessage.json b/specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Messages_DeleteChatMessage.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Messages_DeleteChatMessage.json
rename to specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Messages_DeleteChatMessage.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Messages_GetChatMessage.json b/specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Messages_GetChatMessage.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Messages_GetChatMessage.json
rename to specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Messages_GetChatMessage.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Messages_ListChatMessagesWithPageSize.json b/specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Messages_ListChatMessagesWithPageSize.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Messages_ListChatMessagesWithPageSize.json
rename to specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Messages_ListChatMessagesWithPageSize.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Messages_SendChatMessage.json b/specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Messages_SendChatMessage.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Messages_SendChatMessage.json
rename to specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Messages_SendChatMessage.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Messages_SendTypingNotification.json b/specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Messages_SendTypingNotification.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Messages_SendTypingNotification.json
rename to specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Messages_SendTypingNotification.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Messages_UpdateChatMessage.json b/specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Messages_UpdateChatMessage.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Messages_UpdateChatMessage.json
rename to specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Messages_UpdateChatMessage.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Participants_AddChatParticipants.json b/specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Participants_AddChatParticipants.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Participants_AddChatParticipants.json
rename to specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Participants_AddChatParticipants.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Participants_ListChatParticipantsWithPageSize.json b/specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Participants_ListChatParticipantsWithPageSize.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Participants_ListChatParticipantsWithPageSize.json
rename to specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Participants_ListChatParticipantsWithPageSize.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Participants_RemoveChatParticipant.json b/specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Participants_RemoveChatParticipant.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Participants_RemoveChatParticipant.json
rename to specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Participants_RemoveChatParticipant.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Threads_CreateChatThread.json b/specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Threads_CreateChatThread.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Threads_CreateChatThread.json
rename to specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Threads_CreateChatThread.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Threads_CreateChatThreadWithRepeatabilityRequestId.json b/specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Threads_CreateChatThreadWithRepeatabilityRequestId.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Threads_CreateChatThreadWithRepeatabilityRequestId.json
rename to specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Threads_CreateChatThreadWithRepeatabilityRequestId.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Threads_DeleteChatThread.json b/specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Threads_DeleteChatThread.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Threads_DeleteChatThread.json
rename to specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Threads_DeleteChatThread.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Threads_GetChatThread.json b/specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Threads_GetChatThread.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Threads_GetChatThread.json
rename to specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Threads_GetChatThread.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Threads_ListChatThreadsWithPageSize.json b/specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Threads_ListChatThreadsWithPageSize.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Threads_ListChatThreadsWithPageSize.json
rename to specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Threads_ListChatThreadsWithPageSize.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Threads_UpdateChatThreadTopic.json b/specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Threads_UpdateChatThreadTopic.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/examples/Threads_UpdateChatThreadTopic.json
rename to specification/communication/data-plane/Chat/preview/2020-11-01-preview3/examples/Threads_UpdateChatThreadTopic.json
diff --git a/specification/communication/data-plane/Chat/preview/2021-01-27-preview4/communicationserviceschat.json b/specification/communication/data-plane/Chat/preview/2021-01-27-preview4/communicationserviceschat.json
new file mode 100644
index 000000000000..5a8591949517
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2021-01-27-preview4/communicationserviceschat.json
@@ -0,0 +1,1711 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Communication Chat Service",
+ "description": "Azure Communication Chat Service",
+ "version": "2021-01-27-preview4"
+ },
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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_CreateChatThreadWithRepeatabilityRequestId.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/ChatThreadsInfoCollection"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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_UpdateChatThread",
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Update chat thread topic": {
+ "$ref": "./examples/Threads_UpdateChatThreadTopic.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Gets a chat thread.",
+ "operationId": "Chat_GetChatThread",
+ "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/ChatThread"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "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/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Delete chat thread": {
+ "$ref": "./examples/Threads_DeleteChatThread.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CommunicationUserIdentifierModel": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationUserIdentifierModel"
+ },
+ "CommunicationCloudEnvironment": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationCloudEnvironmentModel"
+ },
+ "MicrosoftTeamsUserIdentifierModel": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/MicrosoftTeamsUserIdentifierModel"
+ },
+ "CommunicationIdentifierModel": {
+ "$ref": "../../../Common/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
+ }
+ }
+ },
+ "Error": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationError"
+ },
+ "ErrorResponse": {
+ "$ref": "../../../Common/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"
+ }
+ }
+ }
+ },
+ "AddChatParticipantsErrors": {
+ "description": "Errors encountered during the addition of the chat participant to the chat thread.",
+ "required": [
+ "invalidParticipants"
+ ],
+ "type": "object",
+ "properties": {
+ "invalidParticipants": {
+ "description": "The participants that failed to be added to the chat thread.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "AddChatParticipantsResult": {
+ "description": "Result of the add chat participants operation.",
+ "type": "object",
+ "properties": {
+ "errors": {
+ "$ref": "#/definitions/AddChatParticipantsErrors"
+ }
+ }
+ },
+ "CreateChatThreadRequest": {
+ "description": "Request payload for creating a chat thread.",
+ "required": [
+ "participants",
+ "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"
+ }
+ }
+ }
+ },
+ "ChatThread": {
+ "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"
+ }
+ }
+ },
+ "CreateChatThreadErrors": {
+ "description": "Errors encountered during the creation of the chat thread.",
+ "type": "object",
+ "properties": {
+ "invalidParticipants": {
+ "description": "The participants that failed to be added to the chat thread.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Error"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "CreateChatThreadResult": {
+ "description": "Result of the create chat thread operation.",
+ "type": "object",
+ "properties": {
+ "chatThread": {
+ "$ref": "#/definitions/ChatThread"
+ },
+ "errors": {
+ "$ref": "#/definitions/CreateChatThreadErrors"
+ }
+ }
+ },
+ "ChatThreadInfo": {
+ "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"
+ }
+ }
+ },
+ "ChatThreadsInfoCollection": {
+ "description": "Collection of chat threads.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of chat threads.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatThreadInfo"
+ }
+ },
+ "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-01-27-preview4/examples/Conversations_ListChatReadReceiptsWithPageSize.json b/specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Conversations_ListChatReadReceiptsWithPageSize.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Conversations_ListChatReadReceiptsWithPageSize.json
rename to specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Conversations_ListChatReadReceiptsWithPageSize.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Conversations_SendChatReadReceipt.json b/specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Conversations_SendChatReadReceipt.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Conversations_SendChatReadReceipt.json
rename to specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Conversations_SendChatReadReceipt.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Messages_DeleteChatMessage.json b/specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Messages_DeleteChatMessage.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Messages_DeleteChatMessage.json
rename to specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Messages_DeleteChatMessage.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Messages_GetChatMessage.json b/specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Messages_GetChatMessage.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Messages_GetChatMessage.json
rename to specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Messages_GetChatMessage.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Messages_ListChatMessagesWithPageSize.json b/specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Messages_ListChatMessagesWithPageSize.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Messages_ListChatMessagesWithPageSize.json
rename to specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Messages_ListChatMessagesWithPageSize.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Messages_SendChatMessage.json b/specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Messages_SendChatMessage.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Messages_SendChatMessage.json
rename to specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Messages_SendChatMessage.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Messages_SendTypingNotification.json b/specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Messages_SendTypingNotification.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Messages_SendTypingNotification.json
rename to specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Messages_SendTypingNotification.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Messages_UpdateChatMessage.json b/specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Messages_UpdateChatMessage.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Messages_UpdateChatMessage.json
rename to specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Messages_UpdateChatMessage.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Participants_AddChatParticipants.json b/specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Participants_AddChatParticipants.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Participants_AddChatParticipants.json
rename to specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Participants_AddChatParticipants.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Participants_ListChatParticipantsWithPageSize.json b/specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Participants_ListChatParticipantsWithPageSize.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Participants_ListChatParticipantsWithPageSize.json
rename to specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Participants_ListChatParticipantsWithPageSize.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Participants_RemoveChatParticipant.json b/specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Participants_RemoveChatParticipant.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Participants_RemoveChatParticipant.json
rename to specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Participants_RemoveChatParticipant.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Threads_CreateChatThread.json b/specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Threads_CreateChatThread.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Threads_CreateChatThread.json
rename to specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Threads_CreateChatThread.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Threads_CreateChatThreadWithRepeatabilityRequestId.json b/specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Threads_CreateChatThreadWithRepeatabilityRequestId.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Threads_CreateChatThreadWithRepeatabilityRequestId.json
rename to specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Threads_CreateChatThreadWithRepeatabilityRequestId.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Threads_DeleteChatThread.json b/specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Threads_DeleteChatThread.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Threads_DeleteChatThread.json
rename to specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Threads_DeleteChatThread.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Threads_GetChatThread.json b/specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Threads_GetChatThread.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Threads_GetChatThread.json
rename to specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Threads_GetChatThread.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Threads_ListChatThreadsWithPageSize.json b/specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Threads_ListChatThreadsWithPageSize.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Threads_ListChatThreadsWithPageSize.json
rename to specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Threads_ListChatThreadsWithPageSize.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Threads_UpdateChatThreadTopic.json b/specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Threads_UpdateChatThreadTopic.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/examples/Threads_UpdateChatThreadTopic.json
rename to specification/communication/data-plane/Chat/preview/2021-01-27-preview4/examples/Threads_UpdateChatThreadTopic.json
diff --git a/specification/communication/data-plane/Chat/preview/2021-03-01-preview5/communicationserviceschat.json b/specification/communication/data-plane/Chat/preview/2021-03-01-preview5/communicationserviceschat.json
new file mode 100644
index 000000000000..2455fb4586e4
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationUserIdentifierModel"
+ },
+ "CommunicationCloudEnvironment": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationCloudEnvironmentModel"
+ },
+ "MicrosoftTeamsUserIdentifierModel": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/MicrosoftTeamsUserIdentifierModel"
+ },
+ "CommunicationIdentifierModel": {
+ "$ref": "../../../Common/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": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationError"
+ },
+ "CommunicationErrorResponse": {
+ "$ref": "../../../Common/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/Chat/preview/2021-03-01-preview5/examples/Conversations_ListChatReadReceiptsWithPageSize.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Conversations_ListChatReadReceiptsWithPageSize.json
rename to specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Conversations_ListChatReadReceiptsWithPageSize.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Conversations_SendChatReadReceipt.json b/specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Conversations_SendChatReadReceipt.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Conversations_SendChatReadReceipt.json
rename to specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Conversations_SendChatReadReceipt.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_DeleteChatMessage.json b/specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Messages_DeleteChatMessage.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_DeleteChatMessage.json
rename to specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Messages_DeleteChatMessage.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_GetChatMessage.json b/specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Messages_GetChatMessage.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_GetChatMessage.json
rename to specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Messages_GetChatMessage.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_ListChatMessagesWithPageSize.json b/specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Messages_ListChatMessagesWithPageSize.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_ListChatMessagesWithPageSize.json
rename to specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Messages_ListChatMessagesWithPageSize.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_SendChatMessage.json b/specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Messages_SendChatMessage.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_SendChatMessage.json
rename to specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Messages_SendChatMessage.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_SendTypingNotification.json b/specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Messages_SendTypingNotification.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_SendTypingNotification.json
rename to specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Messages_SendTypingNotification.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_UpdateChatMessage.json b/specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Messages_UpdateChatMessage.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_UpdateChatMessage.json
rename to specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Messages_UpdateChatMessage.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Participants_AddChatParticipants.json b/specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Participants_AddChatParticipants.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Participants_AddChatParticipants.json
rename to specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Participants_AddChatParticipants.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Participants_ListChatParticipantsWithPageSize.json b/specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Participants_ListChatParticipantsWithPageSize.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Participants_ListChatParticipantsWithPageSize.json
rename to specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Participants_ListChatParticipantsWithPageSize.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Participants_RemoveChatParticipant.json b/specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Participants_RemoveChatParticipant.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Participants_RemoveChatParticipant.json
rename to specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Participants_RemoveChatParticipant.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_CreateChatThread.json b/specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Threads_CreateChatThread.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_CreateChatThread.json
rename to specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Threads_CreateChatThread.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_CreateChatThreadWithIdempotencyToken.json b/specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Threads_CreateChatThreadWithIdempotencyToken.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_CreateChatThreadWithIdempotencyToken.json
rename to specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Threads_CreateChatThreadWithIdempotencyToken.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_DeleteChatThread.json b/specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Threads_DeleteChatThread.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_DeleteChatThread.json
rename to specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Threads_DeleteChatThread.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_GetChatThread.json b/specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Threads_GetChatThread.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_GetChatThread.json
rename to specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Threads_GetChatThread.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_ListChatThreadsWithPageSize.json b/specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Threads_ListChatThreadsWithPageSize.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_ListChatThreadsWithPageSize.json
rename to specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Threads_ListChatThreadsWithPageSize.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_UpdateChatThreadTopic.json b/specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Threads_UpdateChatThreadTopic.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_UpdateChatThreadTopic.json
rename to specification/communication/data-plane/Chat/preview/2021-03-01-preview5/examples/Threads_UpdateChatThreadTopic.json
diff --git a/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/communicationserviceschat.json b/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/communicationserviceschat.json
new file mode 100644
index 000000000000..667c70287e62
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationUserIdentifierModel"
+ },
+ "CommunicationCloudEnvironment": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationCloudEnvironmentModel"
+ },
+ "MicrosoftTeamsUserIdentifierModel": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/MicrosoftTeamsUserIdentifierModel"
+ },
+ "CommunicationIdentifierModel": {
+ "$ref": "../../../Common/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": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationError"
+ },
+ "CommunicationErrorResponse": {
+ "$ref": "../../../Common/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"
+ },
+ "metadata": {
+ "description": "Message metadata.",
+ "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"
+ },
+ "metadata": {
+ "description": "Message metadata.",
+ "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."
+ },
+ "metadata": {
+ "description": "Message metadata.",
+ "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/Chat/preview/2021-04-05-preview6/examples/Conversations_ListChatReadReceiptsWithPageSize.json b/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/examples/Conversations_ListChatReadReceiptsWithPageSize.json
new file mode 100644
index 000000000000..9386c3cf4fb7
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/preview/2021-04-05-preview6/examples/Conversations_SendChatReadReceipt.json b/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/examples/Conversations_SendChatReadReceipt.json
new file mode 100644
index 000000000000..5697ceb4b422
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/preview/2021-04-05-preview6/examples/Messages_DeleteChatMessage.json b/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/examples/Messages_DeleteChatMessage.json
new file mode 100644
index 000000000000..7392dbd0ce13
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/preview/2021-04-05-preview6/examples/Messages_GetChatMessage.json b/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/examples/Messages_GetChatMessage.json
new file mode 100644
index 000000000000..d6b113c08006
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/examples/Messages_GetChatMessage.json
@@ -0,0 +1,65 @@
+{
+ "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"
+ }
+ },
+ "metadata": {
+ "someKey1": "someValue1",
+ "someKey2": "someValue2"
+ }
+ }
+ },
+ "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/Chat/preview/2021-04-05-preview6/examples/Messages_ListChatMessagesWithPageSize.json b/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/examples/Messages_ListChatMessagesWithPageSize.json
new file mode 100644
index 000000000000..8be72a33e4d0
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/preview/2021-04-05-preview6/examples/Messages_SendChatMessage.json b/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/examples/Messages_SendChatMessage.json
new file mode 100644
index 000000000000..00efc9913c6a
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/examples/Messages_SendChatMessage.json
@@ -0,0 +1,57 @@
+{
+ "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",
+ "metadata": {
+ "someKey1": "someValue1",
+ "someKey2": "someValue2"
+ }
+ }
+ },
+ "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/Chat/preview/2021-04-05-preview6/examples/Messages_SendTypingNotification.json b/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/examples/Messages_SendTypingNotification.json
new file mode 100644
index 000000000000..c49f8efc76e7
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/preview/2021-04-05-preview6/examples/Messages_UpdateChatMessage.json b/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/examples/Messages_UpdateChatMessage.json
new file mode 100644
index 000000000000..fec6af7a20ed
--- /dev/null
+++ b/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/examples/Messages_UpdateChatMessage.json
@@ -0,0 +1,51 @@
+{
+ "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",
+ "metadata": {
+ "someKey1": "someValue1",
+ "someKey2": "someValue2"
+ }
+ }
+ },
+ "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/Chat/preview/2021-04-05-preview6/examples/Participants_AddChatParticipants.json b/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/examples/Participants_AddChatParticipants.json
new file mode 100644
index 000000000000..2c5550f803f9
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/preview/2021-04-05-preview6/examples/Participants_ListChatParticipantsWithPageSize.json b/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/examples/Participants_ListChatParticipantsWithPageSize.json
new file mode 100644
index 000000000000..822ef846c3e8
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/preview/2021-04-05-preview6/examples/Participants_RemoveChatParticipant.json b/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/examples/Participants_RemoveChatParticipant.json
new file mode 100644
index 000000000000..89802e325387
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/preview/2021-04-05-preview6/examples/Threads_CreateChatThread.json b/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/examples/Threads_CreateChatThread.json
new file mode 100644
index 000000000000..1632996cfa2a
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/preview/2021-04-05-preview6/examples/Threads_CreateChatThreadWithIdempotencyToken.json b/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/examples/Threads_CreateChatThreadWithIdempotencyToken.json
new file mode 100644
index 000000000000..4bd465bfb78e
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/preview/2021-04-05-preview6/examples/Threads_DeleteChatThread.json b/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/examples/Threads_DeleteChatThread.json
new file mode 100644
index 000000000000..21f2d9b6d6f2
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/preview/2021-04-05-preview6/examples/Threads_GetChatThread.json b/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/examples/Threads_GetChatThread.json
new file mode 100644
index 000000000000..bc0611625ca8
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/preview/2021-04-05-preview6/examples/Threads_ListChatThreadsWithPageSize.json b/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/examples/Threads_ListChatThreadsWithPageSize.json
new file mode 100644
index 000000000000..6698ae1b3a48
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/preview/2021-04-05-preview6/examples/Threads_UpdateChatThreadTopic.json b/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/examples/Threads_UpdateChatThreadTopic.json
new file mode 100644
index 000000000000..854159ac7dfc
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/readme.csharp.md b/specification/communication/data-plane/Chat/readme.csharp.md
similarity index 100%
rename from specification/communication/data-plane/readme.csharp.md
rename to specification/communication/data-plane/Chat/readme.csharp.md
diff --git a/specification/communication/data-plane/Chat/readme.md b/specification/communication/data-plane/Chat/readme.md
new file mode 100644
index 000000000000..d16ec6148aad
--- /dev/null
+++ b/specification/communication/data-plane/Chat/readme.md
@@ -0,0 +1,151 @@
+# 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-chat-2021-03-07
+```
+
+### 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)
+
+## Swift
+
+These settings apply only when `--swift` is specified on the command line.
+
+```yaml $(swift)
+clear-output-folder: false
+namespace: AzureCommunicationChat
+title: AzureCommunicationChat
+package-name: AzureCommunicationChat
+package-version: 1.0.0
+license-header: MICROSOFT_MIT_NO_VERSION
+add-credential: true
+generate-as-internal: >
+ AzureCommunicationChatClient=ChatClientInternal
+ CreateChatThreadResult=CreateChatThreadResultInternal
+ CreateChatThreadRequest=CreateChatThreadRequestInternal
+ ChatMessage=ChatMessageInternal
+ ChatMessageContent=ChatMessageContentInternal
+ ChatParticipant=ChatParticipantInternal
+ ChatMessageReadReceipt=ChatMessageReadReceiptInternal
+ ChatThreadProperties=ChatThreadPropertiesInternal
+directive:
+# Rename CommunicationError to ChatError
+- from: swagger-document
+ where: '$.definitions.CommunicationError'
+ transform: >
+ $["x-ms-client-name"] = "ChatError";
+```
+
diff --git a/specification/communication/data-plane/readme.python.md b/specification/communication/data-plane/Chat/readme.python.md
similarity index 100%
rename from specification/communication/data-plane/readme.python.md
rename to specification/communication/data-plane/Chat/readme.python.md
diff --git a/specification/communication/data-plane/readme.ruby.md b/specification/communication/data-plane/Chat/readme.ruby.md
similarity index 100%
rename from specification/communication/data-plane/readme.ruby.md
rename to specification/communication/data-plane/Chat/readme.ruby.md
diff --git a/specification/communication/data-plane/readme.typescript.md b/specification/communication/data-plane/Chat/readme.typescript.md
similarity index 100%
rename from specification/communication/data-plane/readme.typescript.md
rename to specification/communication/data-plane/Chat/readme.typescript.md
diff --git a/specification/communication/data-plane/Chat/stable/2021-03-07/communicationserviceschat.json b/specification/communication/data-plane/Chat/stable/2021-03-07/communicationserviceschat.json
new file mode 100644
index 000000000000..9587acc5cf5e
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationUserIdentifierModel"
+ },
+ "CommunicationCloudEnvironment": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationCloudEnvironmentModel"
+ },
+ "MicrosoftTeamsUserIdentifierModel": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/MicrosoftTeamsUserIdentifierModel"
+ },
+ "CommunicationIdentifierModel": {
+ "$ref": "../../../Common/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": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationError"
+ },
+ "CommunicationErrorResponse": {
+ "$ref": "../../../Common/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/Chat/stable/2021-03-07/examples/Conversations_ListChatReadReceiptsWithPageSize.json b/specification/communication/data-plane/Chat/stable/2021-03-07/examples/Conversations_ListChatReadReceiptsWithPageSize.json
new file mode 100644
index 000000000000..5fb65c3e97be
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/stable/2021-03-07/examples/Conversations_SendChatReadReceipt.json b/specification/communication/data-plane/Chat/stable/2021-03-07/examples/Conversations_SendChatReadReceipt.json
new file mode 100644
index 000000000000..b505a8d48088
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/stable/2021-03-07/examples/Messages_DeleteChatMessage.json b/specification/communication/data-plane/Chat/stable/2021-03-07/examples/Messages_DeleteChatMessage.json
new file mode 100644
index 000000000000..1191655f34ba
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/stable/2021-03-07/examples/Messages_GetChatMessage.json b/specification/communication/data-plane/Chat/stable/2021-03-07/examples/Messages_GetChatMessage.json
new file mode 100644
index 000000000000..f4a565e64394
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/stable/2021-03-07/examples/Messages_ListChatMessagesWithPageSize.json b/specification/communication/data-plane/Chat/stable/2021-03-07/examples/Messages_ListChatMessagesWithPageSize.json
new file mode 100644
index 000000000000..3d2a1c4c3350
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/stable/2021-03-07/examples/Messages_SendChatMessage.json b/specification/communication/data-plane/Chat/stable/2021-03-07/examples/Messages_SendChatMessage.json
new file mode 100644
index 000000000000..83dcc18fc952
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/stable/2021-03-07/examples/Messages_SendTypingNotification.json b/specification/communication/data-plane/Chat/stable/2021-03-07/examples/Messages_SendTypingNotification.json
new file mode 100644
index 000000000000..4696afc1f66e
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/stable/2021-03-07/examples/Messages_UpdateChatMessage.json b/specification/communication/data-plane/Chat/stable/2021-03-07/examples/Messages_UpdateChatMessage.json
new file mode 100644
index 000000000000..179dc57bee1d
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/stable/2021-03-07/examples/Participants_AddChatParticipants.json b/specification/communication/data-plane/Chat/stable/2021-03-07/examples/Participants_AddChatParticipants.json
new file mode 100644
index 000000000000..368397462927
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/stable/2021-03-07/examples/Participants_ListChatParticipantsWithPageSize.json b/specification/communication/data-plane/Chat/stable/2021-03-07/examples/Participants_ListChatParticipantsWithPageSize.json
new file mode 100644
index 000000000000..cad3c8837aa7
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/stable/2021-03-07/examples/Participants_RemoveChatParticipant.json b/specification/communication/data-plane/Chat/stable/2021-03-07/examples/Participants_RemoveChatParticipant.json
new file mode 100644
index 000000000000..78d56f1fbe1a
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/stable/2021-03-07/examples/Threads_CreateChatThread.json b/specification/communication/data-plane/Chat/stable/2021-03-07/examples/Threads_CreateChatThread.json
new file mode 100644
index 000000000000..c70d938d26a2
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/stable/2021-03-07/examples/Threads_CreateChatThreadWithIdempotencyToken.json b/specification/communication/data-plane/Chat/stable/2021-03-07/examples/Threads_CreateChatThreadWithIdempotencyToken.json
new file mode 100644
index 000000000000..bfd032aa4013
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/stable/2021-03-07/examples/Threads_DeleteChatThread.json b/specification/communication/data-plane/Chat/stable/2021-03-07/examples/Threads_DeleteChatThread.json
new file mode 100644
index 000000000000..5ac0fa6b697b
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/stable/2021-03-07/examples/Threads_GetChatThread.json b/specification/communication/data-plane/Chat/stable/2021-03-07/examples/Threads_GetChatThread.json
new file mode 100644
index 000000000000..d4dfad2644b1
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/stable/2021-03-07/examples/Threads_ListChatThreadsWithPageSize.json b/specification/communication/data-plane/Chat/stable/2021-03-07/examples/Threads_ListChatThreadsWithPageSize.json
new file mode 100644
index 000000000000..77962edadd53
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/Chat/stable/2021-03-07/examples/Threads_UpdateChatThreadTopic.json b/specification/communication/data-plane/Chat/stable/2021-03-07/examples/Threads_UpdateChatThreadTopic.json
new file mode 100644
index 000000000000..3f184ec3f16f
--- /dev/null
+++ b/specification/communication/data-plane/Chat/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/preview/2020-11-19-preview1/common.json b/specification/communication/data-plane/Common/preview/2020-11-19-preview1/common.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesCommon/preview/2020-11-19-preview1/common.json
rename to specification/communication/data-plane/Common/preview/2020-11-19-preview1/common.json
diff --git a/specification/communication/data-plane/Common/readme.csharp.md b/specification/communication/data-plane/Common/readme.csharp.md
new file mode 100644
index 000000000000..2efd3715cdc3
--- /dev/null
+++ b/specification/communication/data-plane/Common/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/Common/readme.md b/specification/communication/data-plane/Common/readme.md
new file mode 100644
index 000000000000..1acbf9c0e495
--- /dev/null
+++ b/specification/communication/data-plane/Common/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/Common/readme.python.md b/specification/communication/data-plane/Common/readme.python.md
new file mode 100644
index 000000000000..f7f55ff2159b
--- /dev/null
+++ b/specification/communication/data-plane/Common/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/Common/readme.ruby.md b/specification/communication/data-plane/Common/readme.ruby.md
new file mode 100644
index 000000000000..f521ab44dbf5
--- /dev/null
+++ b/specification/communication/data-plane/Common/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/Common/readme.typescript.md b/specification/communication/data-plane/Common/readme.typescript.md
new file mode 100644
index 000000000000..be9f877fd1c2
--- /dev/null
+++ b/specification/communication/data-plane/Common/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.CommunicationServicesCommon/stable/2021-03-07/common.json b/specification/communication/data-plane/Common/stable/2021-03-07/common.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json
rename to specification/communication/data-plane/Common/stable/2021-03-07/common.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/CommunicationIdentity.json b/specification/communication/data-plane/Identity/preview/2020-07-20-preview2/CommunicationIdentity.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/CommunicationIdentity.json
rename to specification/communication/data-plane/Identity/preview/2020-07-20-preview2/CommunicationIdentity.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/CreateIdentity.json b/specification/communication/data-plane/Identity/preview/2020-07-20-preview2/examples/CreateIdentity.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/CreateIdentity.json
rename to specification/communication/data-plane/Identity/preview/2020-07-20-preview2/examples/CreateIdentity.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/DeleteIdentity.json b/specification/communication/data-plane/Identity/preview/2020-07-20-preview2/examples/DeleteIdentity.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/DeleteIdentity.json
rename to specification/communication/data-plane/Identity/preview/2020-07-20-preview2/examples/DeleteIdentity.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/IssueToken.json b/specification/communication/data-plane/Identity/preview/2020-07-20-preview2/examples/IssueToken.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/IssueToken.json
rename to specification/communication/data-plane/Identity/preview/2020-07-20-preview2/examples/IssueToken.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/UpdateIdentity.json b/specification/communication/data-plane/Identity/preview/2020-07-20-preview2/examples/UpdateIdentity.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2020-07-20-preview2/examples/UpdateIdentity.json
rename to specification/communication/data-plane/Identity/preview/2020-07-20-preview2/examples/UpdateIdentity.json
diff --git a/specification/communication/data-plane/Identity/preview/2021-02-22-preview1/CommunicationIdentity.json b/specification/communication/data-plane/Identity/preview/2021-02-22-preview1/CommunicationIdentity.json
new file mode 100644
index 000000000000..d74310e9d361
--- /dev/null
+++ b/specification/communication/data-plane/Identity/preview/2021-02-22-preview1/CommunicationIdentity.json
@@ -0,0 +1,313 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "CommunicationIdentityClient",
+ "description": "Azure Communication Identity Service",
+ "version": "2021-02-22-preview1"
+ },
+ "paths": {
+ "/identities": {
+ "post": {
+ "tags": [
+ "Identity"
+ ],
+ "summary": "Create a new identity.",
+ "operationId": "CommunicationIdentity_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/CommunicationIdentityCreateRequest"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ },
+ "201": {
+ "description": "Created - Returns the created identity.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationIdentityAccessTokenResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create an Identity": {
+ "$ref": "./examples/CreateIdentity.json"
+ }
+ }
+ }
+ },
+ "/identities/{id}": {
+ "delete": {
+ "tags": [
+ "Identity"
+ ],
+ "summary": "Delete the identity, revoke all tokens for the identity and delete all associated data.",
+ "operationId": "CommunicationIdentity_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "description": "Identifier of the identity to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ },
+ "204": {
+ "description": "Success"
+ }
+ },
+ "x-ms-examples": {
+ "Delete an identity": {
+ "$ref": "./examples/DeleteIdentity.json"
+ }
+ }
+ }
+ },
+ "/identities/{id}/:revokeAccessTokens": {
+ "post": {
+ "tags": [
+ "Identity"
+ ],
+ "summary": "Revoke all access tokens for the specific identity.",
+ "operationId": "CommunicationIdentity_RevokeAccessTokens",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "description": "Identifier of the identity.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ },
+ "204": {
+ "description": "Success"
+ }
+ },
+ "x-ms-examples": {
+ "Revoke access tokens": {
+ "$ref": "./examples/RevokeAccessTokens.json"
+ }
+ }
+ }
+ },
+ "/identities/{id}/:issueAccessToken": {
+ "post": {
+ "tags": [
+ "Token"
+ ],
+ "summary": "Issue a new token for an identity.",
+ "operationId": "CommunicationIdentity_IssueAccessToken",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "description": "Identifier of the identity to issue token for.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Requesting scopes for the new token.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CommunicationIdentityAccessTokenRequest"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CommunicationIdentityAccessToken"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Issue an access token": {
+ "$ref": "./examples/IssueAccessToken.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CommunicationIdentityTokenScope": {
+ "description": "List of scopes for an access token.",
+ "enum": [
+ "chat",
+ "voip"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CommunicationIdentityTokenScope",
+ "modelAsString": true
+ }
+ },
+ "CommunicationIdentityCreateRequest": {
+ "type": "object",
+ "properties": {
+ "createTokenWithScopes": {
+ "description": "Also create access token for the created identity.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CommunicationIdentityTokenScope"
+ }
+ }
+ }
+ },
+ "CommunicationIdentity": {
+ "description": "A communication identity.",
+ "required": [
+ "id"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Identifier of the identity.",
+ "type": "string"
+ }
+ }
+ },
+ "CommunicationIdentityAccessToken": {
+ "description": "An access token.",
+ "required": [
+ "expiresOn",
+ "token"
+ ],
+ "type": "object",
+ "properties": {
+ "token": {
+ "description": "The access token issued for the identity.",
+ "type": "string"
+ },
+ "expiresOn": {
+ "format": "date-time",
+ "description": "The expiry time of the token.",
+ "type": "string"
+ }
+ }
+ },
+ "CommunicationIdentityAccessTokenResult": {
+ "description": "A communication identity with access token.",
+ "required": [
+ "identity"
+ ],
+ "type": "object",
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/CommunicationIdentity"
+ },
+ "accessToken": {
+ "$ref": "#/definitions/CommunicationIdentityAccessToken"
+ }
+ }
+ },
+ "CommunicationIdentityAccessTokenRequest": {
+ "required": [
+ "scopes"
+ ],
+ "type": "object",
+ "properties": {
+ "scopes": {
+ "description": "List of scopes attached to the token.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CommunicationIdentityTokenScope"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "in": "query",
+ "name": "api-version",
+ "description": "Version of API to invoke.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "name": "endpoint",
+ "description": "The communication resource, for example https://my-resource.communication.azure.com",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "client"
+ }
+ ]
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2021-02-22-preview1/examples/CreateIdentity.json b/specification/communication/data-plane/Identity/preview/2021-02-22-preview1/examples/CreateIdentity.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2021-02-22-preview1/examples/CreateIdentity.json
rename to specification/communication/data-plane/Identity/preview/2021-02-22-preview1/examples/CreateIdentity.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2021-02-22-preview1/examples/DeleteIdentity.json b/specification/communication/data-plane/Identity/preview/2021-02-22-preview1/examples/DeleteIdentity.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2021-02-22-preview1/examples/DeleteIdentity.json
rename to specification/communication/data-plane/Identity/preview/2021-02-22-preview1/examples/DeleteIdentity.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2021-02-22-preview1/examples/IssueAccessToken.json b/specification/communication/data-plane/Identity/preview/2021-02-22-preview1/examples/IssueAccessToken.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2021-02-22-preview1/examples/IssueAccessToken.json
rename to specification/communication/data-plane/Identity/preview/2021-02-22-preview1/examples/IssueAccessToken.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2021-02-22-preview1/examples/RevokeAccessTokens.json b/specification/communication/data-plane/Identity/preview/2021-02-22-preview1/examples/RevokeAccessTokens.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2021-02-22-preview1/examples/RevokeAccessTokens.json
rename to specification/communication/data-plane/Identity/preview/2021-02-22-preview1/examples/RevokeAccessTokens.json
diff --git a/specification/communication/data-plane/Identity/preview/2021-03-31-preview1/CommunicationIdentity.json b/specification/communication/data-plane/Identity/preview/2021-03-31-preview1/CommunicationIdentity.json
new file mode 100644
index 000000000000..733c00773e78
--- /dev/null
+++ b/specification/communication/data-plane/Identity/preview/2021-03-31-preview1/CommunicationIdentity.json
@@ -0,0 +1,372 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "CommunicationIdentityClient",
+ "description": "Azure Communication Identity Service",
+ "version": "2021-03-31-preview1"
+ },
+ "paths": {
+ "/identities": {
+ "post": {
+ "tags": [
+ "Identity"
+ ],
+ "summary": "Create a new identity.",
+ "operationId": "CommunicationIdentity_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/CommunicationIdentityCreateRequest"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ },
+ "201": {
+ "description": "Created - Returns the created identity.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationIdentityAccessTokenResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create an Identity": {
+ "$ref": "./examples/CreateIdentity.json"
+ }
+ }
+ }
+ },
+ "/identities/{id}": {
+ "delete": {
+ "tags": [
+ "Identity"
+ ],
+ "summary": "Delete the identity, revoke all tokens for the identity and delete all associated data.",
+ "operationId": "CommunicationIdentity_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "description": "Identifier of the identity to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ },
+ "204": {
+ "description": "Success"
+ }
+ },
+ "x-ms-examples": {
+ "Delete an identity": {
+ "$ref": "./examples/DeleteIdentity.json"
+ }
+ }
+ }
+ },
+ "/identities/{id}/:revokeAccessTokens": {
+ "post": {
+ "tags": [
+ "Identity"
+ ],
+ "summary": "Revoke all access tokens for the specific identity.",
+ "operationId": "CommunicationIdentity_RevokeAccessTokens",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "description": "Identifier of the identity.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ },
+ "204": {
+ "description": "Success"
+ }
+ },
+ "x-ms-examples": {
+ "Revoke access tokens": {
+ "$ref": "./examples/RevokeAccessTokens.json"
+ }
+ }
+ }
+ },
+ "/teamsUser/:exchangeAccessToken": {
+ "post": {
+ "tags": [
+ "TeamsUser"
+ ],
+ "summary": "Exchange an AAD access token of a Teams user for a new ACS access token.",
+ "operationId": "CommunicationIdentity_ExchangeTeamsUserAccessToken",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TeamsUserAccessTokenRequest"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CommunicationIdentityAccessToken"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Exchange a Teams user access token": {
+ "$ref": "./examples/ExchangeTeamsUserAccessToken.json"
+ }
+ }
+ }
+ },
+ "/identities/{id}/:issueAccessToken": {
+ "post": {
+ "tags": [
+ "Token"
+ ],
+ "summary": "Issue a new token for an identity.",
+ "operationId": "CommunicationIdentity_IssueAccessToken",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "description": "Identifier of the identity to issue token for.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Requesting scopes for the new token.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CommunicationIdentityAccessTokenRequest"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CommunicationIdentityAccessToken"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Issue an access token": {
+ "$ref": "./examples/IssueAccessToken.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CommunicationIdentityTokenScope": {
+ "description": "List of scopes for an access token.",
+ "enum": [
+ "chat",
+ "voip"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CommunicationIdentityTokenScope",
+ "modelAsString": true
+ }
+ },
+ "CommunicationIdentityCreateRequest": {
+ "type": "object",
+ "properties": {
+ "createTokenWithScopes": {
+ "description": "Also create access token for the created identity.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CommunicationIdentityTokenScope"
+ }
+ }
+ }
+ },
+ "CommunicationIdentity": {
+ "description": "A communication identity.",
+ "required": [
+ "id"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Identifier of the identity.",
+ "type": "string"
+ }
+ }
+ },
+ "CommunicationIdentityAccessToken": {
+ "description": "An access token.",
+ "required": [
+ "expiresOn",
+ "token"
+ ],
+ "type": "object",
+ "properties": {
+ "token": {
+ "description": "The access token issued for the identity.",
+ "type": "string"
+ },
+ "expiresOn": {
+ "format": "date-time",
+ "description": "The expiry time of the token.",
+ "type": "string"
+ }
+ }
+ },
+ "CommunicationIdentityAccessTokenResult": {
+ "description": "A communication identity with access token.",
+ "required": [
+ "identity"
+ ],
+ "type": "object",
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/CommunicationIdentity"
+ },
+ "accessToken": {
+ "$ref": "#/definitions/CommunicationIdentityAccessToken"
+ }
+ }
+ },
+ "TeamsUserAccessTokenRequest": {
+ "required": [
+ "token"
+ ],
+ "type": "object",
+ "properties": {
+ "token": {
+ "description": "Azure Active Directory access token to acquire a new ACS access token.",
+ "type": "string"
+ }
+ }
+ },
+ "CommunicationIdentityAccessTokenRequest": {
+ "required": [
+ "scopes"
+ ],
+ "type": "object",
+ "properties": {
+ "scopes": {
+ "description": "List of scopes attached to the token.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CommunicationIdentityTokenScope"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "in": "query",
+ "name": "api-version",
+ "description": "Version of API to invoke.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "name": "endpoint",
+ "description": "The communication resource, for example https://my-resource.communication.azure.com",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "client"
+ }
+ ]
+ }
+}
diff --git a/specification/communication/data-plane/Identity/preview/2021-03-31-preview1/examples/CreateIdentity.json b/specification/communication/data-plane/Identity/preview/2021-03-31-preview1/examples/CreateIdentity.json
new file mode 100644
index 000000000000..fd3b8f812f0d
--- /dev/null
+++ b/specification/communication/data-plane/Identity/preview/2021-03-31-preview1/examples/CreateIdentity.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-03-31-preview1",
+ "content-type": "application/json",
+ "endpoint": "https://my-resource.communication.azure.com",
+ "body": {
+ "createTokenWithScopes": [
+ "chat"
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "identity": {
+ "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081"
+ },
+ "accessToken": {
+ "token": "token",
+ "expiresOn": "2020-09-10T21:39:39.3244584+00:00"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Identity/preview/2021-03-31-preview1/examples/DeleteIdentity.json b/specification/communication/data-plane/Identity/preview/2021-03-31-preview1/examples/DeleteIdentity.json
new file mode 100644
index 000000000000..2ba1552f0ae2
--- /dev/null
+++ b/specification/communication/data-plane/Identity/preview/2021-03-31-preview1/examples/DeleteIdentity.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2021-03-31-preview1",
+ "content-type": "application/json",
+ "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081",
+ "endpoint": "https://my-resource.communication.azure.com"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/communication/data-plane/Identity/preview/2021-03-31-preview1/examples/ExchangeTeamsUserAccessToken.json b/specification/communication/data-plane/Identity/preview/2021-03-31-preview1/examples/ExchangeTeamsUserAccessToken.json
new file mode 100644
index 000000000000..0113f1fa21da
--- /dev/null
+++ b/specification/communication/data-plane/Identity/preview/2021-03-31-preview1/examples/ExchangeTeamsUserAccessToken.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-03-31-preview1",
+ "content-type": "application/json",
+ "body": {
+ "token": "AadAccessToken"
+ },
+ "endpoint": "https://my-resource.communication.azure.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "token": "M365AccessToken",
+ "expiresOn": "2021-09-10T21:39:39.3244584+00:00"
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Identity/preview/2021-03-31-preview1/examples/IssueAccessToken.json b/specification/communication/data-plane/Identity/preview/2021-03-31-preview1/examples/IssueAccessToken.json
new file mode 100644
index 000000000000..4e48b234be4a
--- /dev/null
+++ b/specification/communication/data-plane/Identity/preview/2021-03-31-preview1/examples/IssueAccessToken.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2021-03-31-preview1",
+ "content-type": "application/json",
+ "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081",
+ "body": {
+ "scopes": [
+ "chat"
+ ]
+ },
+ "endpoint": "https://my-resource.communication.azure.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "token": "token",
+ "expiresOn": "2020-09-10T21:39:39.3244584+00:00"
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Identity/preview/2021-03-31-preview1/examples/RevokeAccessTokens.json b/specification/communication/data-plane/Identity/preview/2021-03-31-preview1/examples/RevokeAccessTokens.json
new file mode 100644
index 000000000000..2ba1552f0ae2
--- /dev/null
+++ b/specification/communication/data-plane/Identity/preview/2021-03-31-preview1/examples/RevokeAccessTokens.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2021-03-31-preview1",
+ "content-type": "application/json",
+ "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081",
+ "endpoint": "https://my-resource.communication.azure.com"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/communication/data-plane/Identity/readme.csharp.md b/specification/communication/data-plane/Identity/readme.csharp.md
new file mode 100644
index 000000000000..210c5e5fb22a
--- /dev/null
+++ b/specification/communication/data-plane/Identity/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/Identity/readme.md b/specification/communication/data-plane/Identity/readme.md
new file mode 100644
index 000000000000..753ada23c611
--- /dev/null
+++ b/specification/communication/data-plane/Identity/readme.md
@@ -0,0 +1,94 @@
+# 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
+```
+
+### Tag: package-2021-03-31-preview1
+
+These settings apply only when `--tag=package-2021-03-31-preview1` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-03-31-preview1'
+input-file:
+ - preview/2021-03-31-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/Identity/readme.python.md b/specification/communication/data-plane/Identity/readme.python.md
new file mode 100644
index 000000000000..f7f55ff2159b
--- /dev/null
+++ b/specification/communication/data-plane/Identity/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/Identity/readme.ruby.md b/specification/communication/data-plane/Identity/readme.ruby.md
new file mode 100644
index 000000000000..f521ab44dbf5
--- /dev/null
+++ b/specification/communication/data-plane/Identity/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/Identity/readme.typescript.md b/specification/communication/data-plane/Identity/readme.typescript.md
new file mode 100644
index 000000000000..be9f877fd1c2
--- /dev/null
+++ b/specification/communication/data-plane/Identity/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/Identity/stable/2021-03-07/CommunicationIdentity.json b/specification/communication/data-plane/Identity/stable/2021-03-07/CommunicationIdentity.json
new file mode 100644
index 000000000000..f5fe62ef79e5
--- /dev/null
+++ b/specification/communication/data-plane/Identity/stable/2021-03-07/CommunicationIdentity.json
@@ -0,0 +1,313 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "CommunicationIdentityClient",
+ "description": "Azure Communication Identity Service",
+ "version": "2021-03-07"
+ },
+ "paths": {
+ "/identities": {
+ "post": {
+ "tags": [
+ "Identity"
+ ],
+ "summary": "Create a new identity.",
+ "operationId": "CommunicationIdentity_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/CommunicationIdentityCreateRequest"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ },
+ "201": {
+ "description": "Created - Returns the created identity.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationIdentityAccessTokenResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create an Identity": {
+ "$ref": "./examples/CreateIdentity.json"
+ }
+ }
+ }
+ },
+ "/identities/{id}": {
+ "delete": {
+ "tags": [
+ "Identity"
+ ],
+ "summary": "Delete the identity, revoke all tokens for the identity and delete all associated data.",
+ "operationId": "CommunicationIdentity_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "description": "Identifier of the identity to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ },
+ "204": {
+ "description": "Success"
+ }
+ },
+ "x-ms-examples": {
+ "Delete an identity": {
+ "$ref": "./examples/DeleteIdentity.json"
+ }
+ }
+ }
+ },
+ "/identities/{id}/:revokeAccessTokens": {
+ "post": {
+ "tags": [
+ "Identity"
+ ],
+ "summary": "Revoke all access tokens for the specific identity.",
+ "operationId": "CommunicationIdentity_RevokeAccessTokens",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "description": "Identifier of the identity.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ },
+ "204": {
+ "description": "Success"
+ }
+ },
+ "x-ms-examples": {
+ "Revoke access tokens": {
+ "$ref": "./examples/RevokeAccessTokens.json"
+ }
+ }
+ }
+ },
+ "/identities/{id}/:issueAccessToken": {
+ "post": {
+ "tags": [
+ "Token"
+ ],
+ "summary": "Issue a new token for an identity.",
+ "operationId": "CommunicationIdentity_IssueAccessToken",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "description": "Identifier of the identity to issue token for.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Requesting scopes for the new token.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CommunicationIdentityAccessTokenRequest"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CommunicationIdentityAccessToken"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Issue an access token": {
+ "$ref": "./examples/IssueAccessToken.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CommunicationIdentityTokenScope": {
+ "description": "List of scopes for an access token.",
+ "enum": [
+ "chat",
+ "voip"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CommunicationIdentityTokenScope",
+ "modelAsString": true
+ }
+ },
+ "CommunicationIdentityCreateRequest": {
+ "type": "object",
+ "properties": {
+ "createTokenWithScopes": {
+ "description": "Also create access token for the created identity.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CommunicationIdentityTokenScope"
+ }
+ }
+ }
+ },
+ "CommunicationIdentity": {
+ "description": "A communication identity.",
+ "required": [
+ "id"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Identifier of the identity.",
+ "type": "string"
+ }
+ }
+ },
+ "CommunicationIdentityAccessToken": {
+ "description": "An access token.",
+ "required": [
+ "expiresOn",
+ "token"
+ ],
+ "type": "object",
+ "properties": {
+ "token": {
+ "description": "The access token issued for the identity.",
+ "type": "string"
+ },
+ "expiresOn": {
+ "format": "date-time",
+ "description": "The expiry time of the token.",
+ "type": "string"
+ }
+ }
+ },
+ "CommunicationIdentityAccessTokenResult": {
+ "description": "A communication identity with access token.",
+ "required": [
+ "identity"
+ ],
+ "type": "object",
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/CommunicationIdentity"
+ },
+ "accessToken": {
+ "$ref": "#/definitions/CommunicationIdentityAccessToken"
+ }
+ }
+ },
+ "CommunicationIdentityAccessTokenRequest": {
+ "required": [
+ "scopes"
+ ],
+ "type": "object",
+ "properties": {
+ "scopes": {
+ "description": "List of scopes attached to the token.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CommunicationIdentityTokenScope"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "in": "query",
+ "name": "api-version",
+ "description": "Version of API to invoke.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "name": "endpoint",
+ "description": "The communication resource, for example https://my-resource.communication.azure.com",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "client"
+ }
+ ]
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/stable/2021-03-07/examples/CreateIdentity.json b/specification/communication/data-plane/Identity/stable/2021-03-07/examples/CreateIdentity.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/stable/2021-03-07/examples/CreateIdentity.json
rename to specification/communication/data-plane/Identity/stable/2021-03-07/examples/CreateIdentity.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/stable/2021-03-07/examples/DeleteIdentity.json b/specification/communication/data-plane/Identity/stable/2021-03-07/examples/DeleteIdentity.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/stable/2021-03-07/examples/DeleteIdentity.json
rename to specification/communication/data-plane/Identity/stable/2021-03-07/examples/DeleteIdentity.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/stable/2021-03-07/examples/IssueAccessToken.json b/specification/communication/data-plane/Identity/stable/2021-03-07/examples/IssueAccessToken.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/stable/2021-03-07/examples/IssueAccessToken.json
rename to specification/communication/data-plane/Identity/stable/2021-03-07/examples/IssueAccessToken.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/stable/2021-03-07/examples/RevokeAccessTokens.json b/specification/communication/data-plane/Identity/stable/2021-03-07/examples/RevokeAccessTokens.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/stable/2021-03-07/examples/RevokeAccessTokens.json
rename to specification/communication/data-plane/Identity/stable/2021-03-07/examples/RevokeAccessTokens.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/communicationservicesadministration.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/communicationservicesadministration.json
deleted file mode 100644
index 84d87cd2c9b0..000000000000
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/communicationservicesadministration.json
+++ /dev/null
@@ -1,2056 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "Phone Number Administration Service",
- "description": "Phone Number Administration Service",
- "contact": {
- "email": "acsdevexdisc@microsoft.com"
- },
- "version": "2020-07-20-preview1"
- },
- "paths": {
- "/administration/phonenumbers/phonenumbers": {
- "get": {
- "tags": [
- "AcquiredNumbers"
- ],
- "summary": "Gets the list of the acquired phone numbers.",
- "operationId": "PhoneNumberAdministration_GetAllPhoneNumbers",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "locale",
- "description": "A language-locale pairing which will be used to localize the names of countries",
- "type": "string",
- "default": "en-US"
- },
- {
- "in": "query",
- "name": "skip",
- "description": "An optional parameter for how many entries to skip, for pagination purposes.",
- "type": "integer",
- "format": "int32",
- "default": 0
- },
- {
- "in": "query",
- "name": "take",
- "description": "An optional parameter for how many entries to return, for pagination purposes.",
- "type": "integer",
- "format": "int32",
- "default": 100
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/AcquiredPhoneNumbers"
- }
- },
- "default": {
- "description": "Failure",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink",
- "itemName": "phoneNumbers"
- },
- "x-ms-examples": {
- "List acquired phone numbers": {
- "$ref": "./examples/GetAcquiredPhoneNumbersAsync.json"
- }
- }
- }
- },
- "/administration/phonenumbers/countries/{countryCode}/areacodes": {
- "post": {
- "tags": [
- "AreaCodes"
- ],
- "summary": "Gets a list of the supported area codes",
- "operationId": "PhoneNumberAdministration_GetAllAreaCodes",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "locationType",
- "description": "The type of location information required by the plan.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "countryCode",
- "description": "The ISO 3166-2 country code",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "phonePlanId",
- "description": "The plan id from which to search area codes.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "in": "body",
- "name": "body",
- "description": "Location options for when location type is selection.",
- "schema": {
- "$ref": "#/definitions/LocationOptionsQueries"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/AreaCodes"
- }
- },
- "default": {
- "description": "Failure",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get area codes": {
- "$ref": "./examples/GetAreaCodesAsync.json"
- }
- }
- }
- },
- "/administration/phonenumbers/capabilities/{capabilitiesUpdateId}": {
- "get": {
- "tags": [
- "Capabilities"
- ],
- "summary": "Get capabilities by capabilities update id.",
- "operationId": "PhoneNumberAdministration_GetCapabilitiesUpdate",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "capabilitiesUpdateId",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/UpdatePhoneNumberCapabilitiesResponse"
- }
- },
- "default": {
- "description": "Failure",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get number capabilities update": {
- "$ref": "./examples/GetNumberCapabilitiesUpdateAsync.json"
- }
- }
- }
- },
- "/administration/phonenumbers/capabilities": {
- "post": {
- "tags": [
- "Capabilities"
- ],
- "summary": "Adds or removes phone number capabilities",
- "operationId": "PhoneNumberAdministration_UpdateCapabilities",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "in": "body",
- "name": "body",
- "description": "",
- "schema": {
- "$ref": "#/definitions/UpdateNumberCapabilitiesRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/UpdateNumberCapabilitiesResponse"
- }
- },
- "default": {
- "description": "Failure",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Update number capabilities": {
- "$ref": "./examples/UpdateNumberCapabilitiesAsync.json"
- }
- }
- }
- },
- "/administration/phonenumbers/countries": {
- "get": {
- "tags": [
- "Countries"
- ],
- "summary": "Gets a list of supported countries",
- "operationId": "PhoneNumberAdministration_GetAllSupportedCountries",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "locale",
- "description": "A language-locale pairing which will be used to localize the names of countries",
- "type": "string",
- "default": "en-US"
- },
- {
- "in": "query",
- "name": "skip",
- "description": "An optional parameter for how many entries to skip, for pagination purposes.",
- "type": "integer",
- "format": "int32",
- "default": 0
- },
- {
- "in": "query",
- "name": "take",
- "description": "An optional parameter for how many entries to return, for pagination purposes.",
- "type": "integer",
- "format": "int32",
- "default": 100
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/PhoneNumberCountries"
- }
- },
- "default": {
- "description": "Failure",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink",
- "itemName": "countries"
- },
- "x-ms-examples": {
- "Get countries": {
- "$ref": "./examples/GetCountriesAsync.json"
- }
- }
- }
- },
- "/administration/phonenumbers/numberconfiguration": {
- "post": {
- "tags": [
- "NumberConfiguration"
- ],
- "summary": "Endpoint for getting number configurations",
- "operationId": "PhoneNumberAdministration_GetNumberConfiguration",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "in": "body",
- "name": "body",
- "description": "The phone number whose configuration is to be fetched",
- "schema": {
- "$ref": "#/definitions/NumberConfigurationPhoneNumber"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/NumberConfigurationResponse"
- }
- },
- "default": {
- "description": "Failure",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get number configuration for phone number": {
- "$ref": "./examples/GetNumberConfigurationAsync.json"
- }
- }
- }
- },
- "/administration/phonenumbers/numberconfiguration/configure": {
- "patch": {
- "tags": [
- "NumberConfiguration"
- ],
- "summary": "Endpoint for configuring a pstn number",
- "operationId": "PhoneNumberAdministration_ConfigureNumber",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "in": "body",
- "name": "body",
- "description": "Details of pstn number configuration of the given phoneNumber",
- "schema": {
- "$ref": "#/definitions/NumberConfiguration"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Success"
- },
- "default": {
- "description": "Failure",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Configure phone number": {
- "$ref": "./examples/ConfigurePhoneNumberAsync.json"
- }
- }
- }
- },
- "/administration/phonenumbers/numberconfiguration/unconfigure": {
- "patch": {
- "tags": [
- "NumberConfiguration"
- ],
- "summary": "Endpoint for unconfiguring a pstn number by removing the configuration",
- "operationId": "PhoneNumberAdministration_UnconfigureNumber",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "in": "body",
- "name": "body",
- "description": "The phone number to un-configure",
- "schema": {
- "$ref": "#/definitions/NumberConfigurationPhoneNumber"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Success"
- },
- "default": {
- "description": "Failure",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Unconfigure phone number": {
- "$ref": "./examples/UnconfigurePhoneNumberAsync.json"
- }
- }
- }
- },
- "/administration/phonenumbers/countries/{countryCode}/phoneplangroups": {
- "get": {
- "tags": [
- "Plans"
- ],
- "summary": "Gets a list of phone plan groups for the given country",
- "operationId": "PhoneNumberAdministration_GetPhonePlanGroups",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "countryCode",
- "description": "The ISO 3166-2 country code.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "locale",
- "description": "A language-locale pairing which will be used to localize the names of countries",
- "type": "string",
- "default": "en-US"
- },
- {
- "in": "query",
- "name": "includeRateInformation",
- "type": "boolean",
- "default": false
- },
- {
- "in": "query",
- "name": "skip",
- "description": "An optional parameter for how many entries to skip, for pagination purposes.",
- "type": "integer",
- "format": "int32",
- "default": 0
- },
- {
- "in": "query",
- "name": "take",
- "description": "An optional parameter for how many entries to return, for pagination purposes.",
- "type": "integer",
- "format": "int32",
- "default": 100
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/PhonePlanGroups"
- }
- },
- "default": {
- "description": "Failure",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink",
- "itemName": "phonePlanGroups"
- },
- "x-ms-examples": {
- "Get plans": {
- "$ref": "./examples/GetPhonePlanGroupsAsync.json"
- }
- }
- }
- },
- "/administration/phonenumbers/countries/{countryCode}/phoneplangroups/{phonePlanGroupId}/phoneplans": {
- "get": {
- "tags": [
- "Plans"
- ],
- "summary": "Gets a list of phone plans for a phone plan group",
- "operationId": "PhoneNumberAdministration_GetPhonePlans",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "countryCode",
- "description": "The ISO 3166-2 country code.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "phonePlanGroupId",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "locale",
- "description": "A language-locale pairing which will be used to localize the names of countries",
- "type": "string",
- "default": "en-US"
- },
- {
- "in": "query",
- "name": "skip",
- "description": "An optional parameter for how many entries to skip, for pagination purposes.",
- "type": "integer",
- "format": "int32",
- "default": 0
- },
- {
- "in": "query",
- "name": "take",
- "description": "An optional parameter for how many entries to return, for pagination purposes.",
- "type": "integer",
- "format": "int32",
- "default": 100
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/PhonePlansResponse"
- }
- },
- "default": {
- "description": "Failure",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink",
- "itemName": "phonePlans"
- },
- "x-ms-examples": {
- "Get plans": {
- "$ref": "./examples/GetPhonePlansAsync.json"
- }
- }
- }
- },
- "/administration/phonenumbers/countries/{countryCode}/phoneplangroups/{phonePlanGroupId}/phoneplans/{phonePlanId}/locationoptions": {
- "get": {
- "tags": [
- "Plans"
- ],
- "summary": "Gets a list of location options for a phone plan",
- "operationId": "PhoneNumberAdministration_GetPhonePlanLocationOptions",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "countryCode",
- "description": "The ISO 3166-2 country code.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "phonePlanGroupId",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "phonePlanId",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "locale",
- "description": "A language-locale pairing which will be used to localize the names of countries",
- "type": "string",
- "default": "en-US"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/LocationOptionsResponse"
- }
- },
- "default": {
- "description": "Failure",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get plans": {
- "$ref": "./examples/GetLocationOptionsAsync.json"
- }
- }
- }
- },
- "/administration/phonenumbers/releases/{releaseId}": {
- "get": {
- "tags": [
- "Release"
- ],
- "summary": "Gets a release by a release id",
- "operationId": "PhoneNumberAdministration_GetReleaseById",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "releaseId",
- "description": "Represents the release id",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/PhoneNumberRelease"
- }
- },
- "default": {
- "description": "Failure",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get release by id": {
- "$ref": "./examples/GetReleaseByIdAsync.json"
- }
- }
- }
- },
- "/administration/phonenumbers/releases": {
- "post": {
- "tags": [
- "Release"
- ],
- "summary": "Creates a release for the given phone numbers",
- "operationId": "PhoneNumberAdministration_ReleasePhoneNumbers",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "in": "body",
- "name": "body",
- "description": "Config api Release request",
- "schema": {
- "$ref": "#/definitions/ReleaseRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/ReleaseResponse"
- }
- },
- "default": {
- "description": "Failure",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get release": {
- "$ref": "./examples/CreateReleaseAsync.json"
- }
- }
- },
- "get": {
- "tags": [
- "Release"
- ],
- "summary": "Gets a list of all releases",
- "operationId": "PhoneNumberAdministration_GetAllReleases",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "skip",
- "description": "An optional parameter for how many entries to skip, for pagination purposes.",
- "type": "integer",
- "format": "int32",
- "default": 0
- },
- {
- "in": "query",
- "name": "take",
- "description": "An optional parameter for how many entries to return, for pagination purposes.",
- "type": "integer",
- "format": "int32",
- "default": 100
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/PhoneNumberEntities"
- }
- },
- "default": {
- "description": "Failure",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink",
- "itemName": "entities"
- },
- "x-ms-examples": {
- "Get all releases": {
- "$ref": "./examples/GetAllReleasesAsync.json"
- }
- }
- }
- },
- "/administration/phonenumbers/searches/{searchId}": {
- "get": {
- "tags": [
- "Search"
- ],
- "summary": "Get search by search id",
- "operationId": "PhoneNumberAdministration_GetSearchById",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "searchId",
- "description": "The search id to be searched for",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/PhoneNumberSearch"
- }
- },
- "default": {
- "description": "Failure",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get search by search id": {
- "$ref": "./examples/GetSearchByIdAsync.json"
- }
- }
- }
- },
- "/administration/phonenumbers/searches": {
- "post": {
- "tags": [
- "Search"
- ],
- "summary": "Creates a phone number search",
- "operationId": "PhoneNumberAdministration_CreateSearch",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "in": "body",
- "name": "body",
- "description": "Defines the search options",
- "schema": {
- "$ref": "#/definitions/CreateSearchOptions"
- }
- }
- ],
- "responses": {
- "201": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/CreateSearchResponse"
- }
- },
- "default": {
- "description": "Failure",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create search": {
- "$ref": "./examples/CreateSearchAsync.json"
- }
- }
- },
- "get": {
- "tags": [
- "Search"
- ],
- "summary": "Gets a list of all searches",
- "operationId": "PhoneNumberAdministration_GetAllSearches",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "skip",
- "description": "An optional parameter for how many entries to skip, for pagination purposes.",
- "type": "integer",
- "format": "int32",
- "default": 0
- },
- {
- "in": "query",
- "name": "take",
- "description": "An optional parameter for how many entries to return, for pagination purposes.",
- "type": "integer",
- "format": "int32",
- "default": 100
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/PhoneNumberEntities"
- }
- },
- "default": {
- "description": "Failure",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink",
- "itemName": "entities"
- },
- "x-ms-examples": {
- "Get all searches": {
- "$ref": "./examples/GetAllSearchesAsync.json"
- }
- }
- }
- },
- "/administration/phonenumbers/searches/{searchId}/cancel": {
- "post": {
- "tags": [
- "Search"
- ],
- "summary": "Cancels the search. This means existing numbers in the search will be made available.",
- "operationId": "PhoneNumberAdministration_CancelSearch",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "searchId",
- "description": "The search id to be canceled",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "202": {
- "description": "Success"
- },
- "default": {
- "description": "Failure",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Cancel phone number search": {
- "$ref": "./examples/CancelSearchAsync.json"
- }
- }
- }
- },
- "/administration/phonenumbers/searches/{searchId}/purchase": {
- "post": {
- "tags": [
- "Search"
- ],
- "summary": "Purchases the phone number search.",
- "operationId": "PhoneNumberAdministration_PurchaseSearch",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "searchId",
- "description": "The search id to be purchased",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "202": {
- "description": "Success"
- },
- "default": {
- "description": "Failure",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Purchase phone number search": {
- "$ref": "./examples/PurchaseSearchAsync.json"
- }
- }
- }
- }
- },
- "definitions": {
- "AcquiredPhoneNumber": {
- "description": "Represents an acquired phone number.",
- "required": [
- "acquiredCapabilities",
- "availableCapabilities",
- "phoneNumber"
- ],
- "type": "object",
- "properties": {
- "phoneNumber": {
- "description": "String of the E.164 format of the phone number",
- "type": "string"
- },
- "acquiredCapabilities": {
- "description": "The set of all acquired capabilities of the phone number.",
- "type": "array",
- "items": {
- "description": "Represents the capabilities of a phone number.",
- "enum": [
- "UserAssignment",
- "FirstPartyVoiceAppAssignment",
- "ConferenceAssignment",
- "P2PSmsEnabled",
- "Geographic",
- "NonGeographic",
- "TollCalling",
- "TollFreeCalling",
- "Premium",
- "P2PSmsCapable",
- "A2PSmsCapable",
- "A2PSmsEnabled",
- "Calling",
- "TollFree",
- "FirstPartyAppAssignment",
- "ThirdPartyAppAssignment",
- "Azure",
- "Office365",
- "InboundCalling",
- "OutboundCalling",
- "InboundA2PSms",
- "OutboundA2PSms",
- "InboundP2PSms",
- "OutboundP2PSms"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "Capability",
- "modelAsString": true
- }
- }
- },
- "availableCapabilities": {
- "description": "The set of all available capabilities that can be acquired for this phone number.",
- "type": "array",
- "items": {
- "description": "Represents the capabilities of a phone number.",
- "enum": [
- "UserAssignment",
- "FirstPartyVoiceAppAssignment",
- "ConferenceAssignment",
- "P2PSmsEnabled",
- "Geographic",
- "NonGeographic",
- "TollCalling",
- "TollFreeCalling",
- "Premium",
- "P2PSmsCapable",
- "A2PSmsCapable",
- "A2PSmsEnabled",
- "Calling",
- "TollFree",
- "FirstPartyAppAssignment",
- "ThirdPartyAppAssignment",
- "Azure",
- "Office365",
- "InboundCalling",
- "OutboundCalling",
- "InboundA2PSms",
- "OutboundA2PSms",
- "InboundP2PSms",
- "OutboundP2PSms"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "Capability",
- "modelAsString": true
- }
- }
- },
- "assignmentStatus": {
- "description": "The assignment status of the phone number. Conveys what type of entity the number is assigned to.",
- "enum": [
- "Unassigned",
- "Unknown",
- "UserAssigned",
- "ConferenceAssigned",
- "FirstPartyAppAssigned",
- "ThirdPartyAppAssigned"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "AssignmentStatus",
- "modelAsString": true
- }
- },
- "placeName": {
- "description": "The name of the place of the phone number.",
- "type": "string"
- },
- "activationState": {
- "description": "The activation state of the phone number. Can be \"Activated\", \"AssignmentPending\", \"AssignmentFailed\", \"UpdatePending\", \"UpdateFailed\"",
- "enum": [
- "Activated",
- "AssignmentPending",
- "AssignmentFailed",
- "UpdatePending",
- "UpdateFailed"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "ActivationState",
- "modelAsString": true
- }
- }
- }
- },
- "AcquiredPhoneNumbers": {
- "description": "A wrapper of list of phone numbers",
- "type": "object",
- "properties": {
- "phoneNumbers": {
- "description": "Represents a list of phone numbers",
- "type": "array",
- "items": {
- "$ref": "#/definitions/AcquiredPhoneNumber"
- }
- },
- "nextLink": {
- "description": "Represents the URL link to the next page",
- "type": "string"
- }
- }
- },
- "ErrorBody": {
- "description": "Represents a service error response body.",
- "type": "object",
- "properties": {
- "code": {
- "description": "The error code in the error response.",
- "type": "string"
- },
- "message": {
- "description": "The error message in the error response.",
- "type": "string"
- }
- }
- },
- "ErrorResponse": {
- "description": "Represents a service error response.",
- "type": "object",
- "properties": {
- "error": {
- "$ref": "#/definitions/ErrorBody"
- }
- }
- },
- "LocationOptionsQuery": {
- "description": "Represents a location options parameter, used for fetching area codes.",
- "type": "object",
- "properties": {
- "labelId": {
- "description": "Represents the location option label id, returned from the GetLocationOptions API.",
- "type": "string"
- },
- "optionsValue": {
- "description": "Represents the location options value, returned from the GetLocationOptions API.",
- "type": "string"
- }
- }
- },
- "LocationOptionsQueries": {
- "description": "Represents a list of location option queries, used for fetching area codes.",
- "type": "object",
- "properties": {
- "locationOptions": {
- "description": "Represents the underlying list of countries.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/LocationOptionsQuery"
- }
- }
- }
- },
- "AreaCodes": {
- "description": "Represents a list of area codes.",
- "type": "object",
- "properties": {
- "primaryAreaCodes": {
- "description": "Represents the list of primary area codes.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "secondaryAreaCodes": {
- "description": "Represents the list of secondary area codes.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "nextLink": {
- "description": "Represents the URL link to the next page",
- "type": "string"
- }
- }
- },
- "NumberUpdateCapabilities": {
- "description": "Represents an individual number capabilities update request",
- "type": "object",
- "properties": {
- "add": {
- "description": "Capabilities to be added to a phone number",
- "type": "array",
- "items": {
- "description": "Represents the capabilities of a phone number.",
- "enum": [
- "UserAssignment",
- "FirstPartyVoiceAppAssignment",
- "ConferenceAssignment",
- "P2PSmsEnabled",
- "Geographic",
- "NonGeographic",
- "TollCalling",
- "TollFreeCalling",
- "Premium",
- "P2PSmsCapable",
- "A2PSmsCapable",
- "A2PSmsEnabled",
- "Calling",
- "TollFree",
- "FirstPartyAppAssignment",
- "ThirdPartyAppAssignment",
- "Azure",
- "Office365",
- "InboundCalling",
- "OutboundCalling",
- "InboundA2PSms",
- "OutboundA2PSms",
- "InboundP2PSms",
- "OutboundP2PSms"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "Capability",
- "modelAsString": true
- }
- }
- },
- "remove": {
- "description": "Capabilities to be removed from a phone number",
- "type": "array",
- "items": {
- "description": "Represents the capabilities of a phone number.",
- "enum": [
- "UserAssignment",
- "FirstPartyVoiceAppAssignment",
- "ConferenceAssignment",
- "P2PSmsEnabled",
- "Geographic",
- "NonGeographic",
- "TollCalling",
- "TollFreeCalling",
- "Premium",
- "P2PSmsCapable",
- "A2PSmsCapable",
- "A2PSmsEnabled",
- "Calling",
- "TollFree",
- "FirstPartyAppAssignment",
- "ThirdPartyAppAssignment",
- "Azure",
- "Office365",
- "InboundCalling",
- "OutboundCalling",
- "InboundA2PSms",
- "OutboundA2PSms",
- "InboundP2PSms",
- "OutboundP2PSms"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "Capability",
- "modelAsString": true
- }
- }
- }
- }
- },
- "UpdatePhoneNumberCapabilitiesResponse": {
- "description": "Response for getting a phone number update capabilities.",
- "type": "object",
- "properties": {
- "capabilitiesUpdateId": {
- "description": "The id of the phone number capabilities update",
- "type": "string"
- },
- "createdAt": {
- "format": "date-time",
- "description": "The time the capabilities update was created",
- "type": "string"
- },
- "capabilitiesUpdateStatus": {
- "description": "Status of the capabilities update.",
- "enum": [
- "Pending",
- "InProgress",
- "Complete",
- "Error"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "CapabilitiesUpdateStatus",
- "modelAsString": true
- }
- },
- "phoneNumberCapabilitiesUpdates": {
- "description": "The capabilities update for each of a set of phone numbers.",
- "type": "object",
- "additionalProperties": {
- "$ref": "#/definitions/NumberUpdateCapabilities"
- }
- }
- }
- },
- "UpdateNumberCapabilitiesRequest": {
- "description": "Represents a numbers capabilities update request",
- "required": [
- "phoneNumberCapabilitiesUpdate"
- ],
- "type": "object",
- "properties": {
- "phoneNumberCapabilitiesUpdate": {
- "description": "The map of phone numbers to the capabilities update applied to the phone number.",
- "type": "object",
- "additionalProperties": {
- "$ref": "#/definitions/NumberUpdateCapabilities"
- }
- }
- }
- },
- "UpdateNumberCapabilitiesResponse": {
- "description": "Represents a number capability update response.",
- "required": [
- "capabilitiesUpdateId"
- ],
- "type": "object",
- "properties": {
- "capabilitiesUpdateId": {
- "description": "The capabilities id",
- "type": "string"
- }
- }
- },
- "PhoneNumberCountry": {
- "description": "Represents a country.",
- "required": [
- "countryCode",
- "localizedName"
- ],
- "type": "object",
- "properties": {
- "localizedName": {
- "description": "Represents the name of the country.",
- "type": "string"
- },
- "countryCode": {
- "description": "Represents the abbreviated name of the country.",
- "type": "string"
- }
- }
- },
- "PhoneNumberCountries": {
- "description": "Represents a wrapper around a list of countries.",
- "type": "object",
- "properties": {
- "countries": {
- "description": "Represents the underlying list of countries.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PhoneNumberCountry"
- }
- },
- "nextLink": {
- "description": "Represents the URL link to the next page",
- "type": "string"
- }
- }
- },
- "NumberConfigurationPhoneNumber": {
- "description": "The phone number wrapper representing a number configuration request",
- "required": [
- "phoneNumber"
- ],
- "type": "object",
- "properties": {
- "phoneNumber": {
- "description": "The phone number in the E.164 format",
- "type": "string"
- }
- }
- },
- "PstnConfiguration": {
- "description": "Definition for pstn number configuration",
- "required": [
- "callbackUrl"
- ],
- "type": "object",
- "properties": {
- "callbackUrl": {
- "description": "The webhook URL on the phone number configuration.",
- "type": "string"
- },
- "applicationId": {
- "description": "The application id of the application to which to configure",
- "type": "string"
- }
- }
- },
- "NumberConfigurationResponse": {
- "description": "Definition for number configuration",
- "required": [
- "pstnConfiguration"
- ],
- "type": "object",
- "properties": {
- "pstnConfiguration": {
- "$ref": "#/definitions/PstnConfiguration"
- }
- }
- },
- "NumberConfiguration": {
- "description": "Definition for number configuration",
- "required": [
- "phoneNumber",
- "pstnConfiguration"
- ],
- "type": "object",
- "properties": {
- "pstnConfiguration": {
- "$ref": "#/definitions/PstnConfiguration"
- },
- "phoneNumber": {
- "description": "The phone number to configure",
- "type": "string"
- }
- }
- },
- "CarrierDetails": {
- "description": "Represents carrier details.",
- "type": "object",
- "properties": {
- "name": {
- "description": "Name of carrier details",
- "type": "string"
- },
- "localizedName": {
- "description": "Display name of carrier details",
- "type": "string"
- }
- }
- },
- "RateInformation": {
- "description": "Represents a wrapper of rate information",
- "type": "object",
- "properties": {
- "monthlyRate": {
- "format": "double",
- "description": "The monthly rate of a phone plan group",
- "type": "number"
- },
- "currencyType": {
- "description": "The currency of a phone plan group",
- "enum": [
- "USD"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "CurrencyType",
- "modelAsString": true
- }
- },
- "rateErrorMessage": {
- "description": "The error code of a phone plan group",
- "type": "string"
- }
- }
- },
- "PhonePlanGroup": {
- "description": "Represents a plan group.",
- "required": [
- "localizedDescription",
- "localizedName",
- "phonePlanGroupId"
- ],
- "type": "object",
- "properties": {
- "phonePlanGroupId": {
- "description": "The id of the plan group",
- "type": "string"
- },
- "phoneNumberType": {
- "description": "The phone number type of the plan group",
- "enum": [
- "Unknown",
- "Geographic",
- "TollFree",
- "Indirect"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "PhoneNumberType",
- "modelAsString": true
- }
- },
- "localizedName": {
- "description": "The name of the plan group.",
- "type": "string"
- },
- "localizedDescription": {
- "description": "The description of the plan group.",
- "type": "string"
- },
- "carrierDetails": {
- "$ref": "#/definitions/CarrierDetails"
- },
- "rateInformation": {
- "$ref": "#/definitions/RateInformation"
- }
- }
- },
- "PhonePlanGroups": {
- "description": "Represents a wrapper of list of plan groups.",
- "type": "object",
- "properties": {
- "phonePlanGroups": {
- "description": "The underlying list of phone plan groups.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PhonePlanGroup"
- }
- },
- "nextLink": {
- "description": "Represents the URL link to the next page",
- "type": "string"
- }
- }
- },
- "PhonePlan": {
- "description": "Represents a phone plan.",
- "required": [
- "localizedName",
- "locationType",
- "phonePlanId"
- ],
- "type": "object",
- "properties": {
- "phonePlanId": {
- "description": "The phone plan id",
- "type": "string"
- },
- "localizedName": {
- "description": "The name of the phone plan",
- "type": "string"
- },
- "locationType": {
- "description": "The location type of the phone plan.",
- "enum": [
- "CivicAddress",
- "NotRequired",
- "Selection"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "LocationType",
- "modelAsString": true
- }
- },
- "areaCodes": {
- "description": "The list of available area codes in the phone plan.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "capabilities": {
- "description": "Capabilities of the phone plan.",
- "type": "array",
- "items": {
- "description": "Represents the capabilities of a phone number.",
- "enum": [
- "UserAssignment",
- "FirstPartyVoiceAppAssignment",
- "ConferenceAssignment",
- "P2PSmsEnabled",
- "Geographic",
- "NonGeographic",
- "TollCalling",
- "TollFreeCalling",
- "Premium",
- "P2PSmsCapable",
- "A2PSmsCapable",
- "A2PSmsEnabled",
- "Calling",
- "TollFree",
- "FirstPartyAppAssignment",
- "ThirdPartyAppAssignment",
- "Azure",
- "Office365",
- "InboundCalling",
- "OutboundCalling",
- "InboundA2PSms",
- "OutboundA2PSms",
- "InboundP2PSms",
- "OutboundP2PSms"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "Capability",
- "modelAsString": true
- }
- }
- },
- "maximumSearchSize": {
- "format": "int32",
- "description": "The maximum number of phone numbers one can acquire in a search in this phone plan.",
- "type": "integer"
- }
- }
- },
- "PhonePlansResponse": {
- "description": "Represents a wrapper around a list of countries.",
- "type": "object",
- "properties": {
- "phonePlans": {
- "description": "Represents the underlying list of phone plans.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PhonePlan"
- }
- },
- "nextLink": {
- "description": "Represents the URL link to the next page",
- "type": "string"
- }
- }
- },
- "LocationOptionsDetails": {
- "description": "Represents location options details.",
- "type": "object",
- "properties": {
- "name": {
- "description": "The name of the location options",
- "type": "string"
- },
- "value": {
- "description": "The abbreviated name of the location options",
- "type": "string"
- },
- "locationOptions": {
- "description": "The underlying location options",
- "type": "array",
- "items": {
- "$ref": "#/definitions/LocationOptions"
- }
- }
- }
- },
- "LocationOptions": {
- "description": "Represents a location options.",
- "type": "object",
- "properties": {
- "labelId": {
- "description": "The label id of the location.",
- "type": "string"
- },
- "labelName": {
- "description": "The display name of the location.",
- "type": "string"
- },
- "options": {
- "description": "The underlying location option details.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/LocationOptionsDetails"
- }
- }
- }
- },
- "LocationOptionsResponse": {
- "description": "Represents a wrapper around a list of location options.",
- "type": "object",
- "properties": {
- "locationOptions": {
- "$ref": "#/definitions/LocationOptions"
- }
- }
- },
- "PhoneNumberReleaseDetails": {
- "type": "object",
- "properties": {
- "status": {
- "description": "The release status of a phone number.",
- "enum": [
- "Pending",
- "Success",
- "Error",
- "InProgress"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "PhoneNumberReleaseStatus",
- "modelAsString": true
- }
- },
- "errorCode": {
- "format": "int32",
- "description": "The error code in the case the status is error.",
- "type": "integer"
- }
- }
- },
- "PhoneNumberRelease": {
- "description": "Represents a release",
- "type": "object",
- "properties": {
- "releaseId": {
- "description": "The id of the release.",
- "type": "string"
- },
- "createdAt": {
- "format": "date-time",
- "description": "The creation time of the release.",
- "type": "string"
- },
- "status": {
- "description": "The release status.",
- "enum": [
- "Pending",
- "InProgress",
- "Complete",
- "Failed",
- "Expired"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "ReleaseStatus",
- "modelAsString": true
- }
- },
- "errorMessage": {
- "description": "The underlying error message of a release.",
- "type": "string"
- },
- "phoneNumberReleaseStatusDetails": {
- "description": "The list of phone numbers in the release, mapped to its individual statuses.",
- "type": "object",
- "additionalProperties": {
- "$ref": "#/definitions/PhoneNumberReleaseDetails"
- }
- }
- }
- },
- "ReleaseRequest": {
- "description": "Represents a release request.",
- "required": [
- "phoneNumbers"
- ],
- "type": "object",
- "properties": {
- "phoneNumbers": {
- "description": "The list of phone numbers in the release request.",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- },
- "ReleaseResponse": {
- "description": "Represents a release response.",
- "required": [
- "releaseId"
- ],
- "type": "object",
- "properties": {
- "releaseId": {
- "description": "The release id of a created release.",
- "type": "string"
- }
- }
- },
- "PhoneNumberEntity": {
- "description": "Represents a phone number entity, as part of the response when calling get all searches or releases.",
- "type": "object",
- "properties": {
- "id": {
- "description": "The id of the entity. It is the search id of a search. It is the release id of a release.",
- "type": "string"
- },
- "createdAt": {
- "format": "date-time",
- "description": "Date and time the entity is created.",
- "type": "string"
- },
- "displayName": {
- "description": "Name of the entity.",
- "type": "string"
- },
- "quantity": {
- "format": "int32",
- "description": "Quantity of requested phone numbers in the entity.",
- "type": "integer"
- },
- "quantityObtained": {
- "format": "int32",
- "description": "Quantity of acquired phone numbers in the entity.",
- "type": "integer"
- },
- "status": {
- "description": "Status of the entity.",
- "type": "string"
- },
- "focDate": {
- "format": "date-time",
- "description": "The Firm Order Confirmation date of the phone number entity.",
- "type": "string"
- }
- }
- },
- "PhoneNumberEntities": {
- "description": "Represents a list of searches or releases, as part of the response when fetching all searches or releases.",
- "type": "object",
- "properties": {
- "entities": {
- "description": "The underlying list of entities.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PhoneNumberEntity"
- }
- },
- "nextLink": {
- "description": "Represents the URL link to the next page",
- "type": "string"
- }
- }
- },
- "PhoneNumberSearch": {
- "description": "Represents a phone number search",
- "type": "object",
- "properties": {
- "searchId": {
- "description": "The id of the search.",
- "type": "string"
- },
- "displayName": {
- "description": "The name of the search.",
- "type": "string"
- },
- "createdAt": {
- "format": "date-time",
- "description": "The creation time of the search.",
- "type": "string"
- },
- "description": {
- "description": "The description of the search.",
- "type": "string"
- },
- "phonePlanIds": {
- "description": "The phone plan ids of the search.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "areaCode": {
- "description": "The area code of the search.",
- "type": "string"
- },
- "quantity": {
- "format": "int32",
- "description": "The quantity of phone numbers in the search.",
- "type": "integer"
- },
- "locationOptions": {
- "description": "The location options of the search.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/LocationOptionsDetails"
- }
- },
- "status": {
- "description": "The status of the search.",
- "enum": [
- "Pending",
- "InProgress",
- "Reserved",
- "Expired",
- "Expiring",
- "Completing",
- "Refreshing",
- "Success",
- "Manual",
- "Cancelled",
- "Cancelling",
- "Error",
- "PurchasePending"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "SearchStatus",
- "modelAsString": true
- }
- },
- "phoneNumbers": {
- "description": "The list of phone numbers in the search, in the case the status is reserved or success.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "reservationExpiryDate": {
- "format": "date-time",
- "description": "The date that search expires and the numbers become available.",
- "type": "string"
- },
- "errorCode": {
- "format": "int32",
- "description": "The error code of the search.",
- "type": "integer"
- }
- }
- },
- "CreateSearchOptions": {
- "description": "Represents a search creation option.",
- "required": [
- "areaCode",
- "description",
- "displayName",
- "phonePlanIds"
- ],
- "type": "object",
- "properties": {
- "displayName": {
- "description": "Display name of the search.",
- "maxLength": 255,
- "type": "string"
- },
- "description": {
- "description": "Description of the search.",
- "maxLength": 255,
- "type": "string"
- },
- "phonePlanIds": {
- "description": "The plan subtype ids from which to create the search.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "areaCode": {
- "description": "The area code from which to create the search.",
- "type": "string"
- },
- "quantity": {
- "format": "int32",
- "description": "The quantity of phone numbers to request.",
- "maximum": 2147483647,
- "minimum": 1,
- "type": "integer"
- },
- "locationOptions": {
- "description": "The location options of the search.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/LocationOptionsDetails"
- }
- }
- }
- },
- "CreateSearchResponse": {
- "description": "Represents a search creation response.",
- "required": [
- "searchId"
- ],
- "type": "object",
- "properties": {
- "searchId": {
- "description": "The search id of the search that was created.",
- "type": "string"
- }
- }
- }
- },
- "parameters": {
- "ApiVersionParameter": {
- "in": "query",
- "name": "api-version",
- "description": "Version of API to invoke",
- "required": true,
- "type": "string"
- },
- "Endpoint": {
- "in": "path",
- "name": "endpoint",
- "description": "The endpoint of the Azure Communication resource.",
- "required": true,
- "type": "string",
- "x-ms-skip-url-encoding": true,
- "x-ms-parameter-location": "client"
- }
- },
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "flow": "implicit",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- },
- "description": "Azure Active Directory OAuth2 Flow"
- }
- },
- "x-ms-parameterized-host": {
- "hostTemplate": "{endpoint}",
- "useSchemePrefix": false,
- "parameters": [
- {
- "$ref": "#/parameters/Endpoint"
- }
- ]
- }
-}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CancelSearchAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CancelSearchAsync.json
deleted file mode 100644
index 0d393b557bc5..000000000000
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CancelSearchAsync.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-07-20-preview1",
- "endpoint": "https://resourcename.communications.azure.net/",
- "searchId": "0cc077cd-333a-39fd-90f7-560b1e06c63e"
- },
- "responses": {
- "202": {}
- }
-}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/ConfigurePhoneNumberAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/ConfigurePhoneNumberAsync.json
deleted file mode 100644
index d95a9053bddb..000000000000
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/ConfigurePhoneNumberAsync.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-07-20-preview1",
- "body": {
- "phoneNumber": "+11234567890",
- "pstnConfiguration": {
- "callbackUrl": "www.callback.com",
- "applicationId": "abc123"
- }
- },
- "endpoint": "https://resourcename.communications.azure.net/"
- },
- "responses": {
- "200": {}
- }
-}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CreateReleaseAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CreateReleaseAsync.json
deleted file mode 100644
index b1c75ce1facd..000000000000
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CreateReleaseAsync.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-07-20-preview1",
- "body": {
- "phoneNumbers": [
- "+11234567890"
- ]
- },
- "endpoint": "https://resourcename.communications.azure.net/"
- },
- "responses": {
- "200": {
- "headers": {},
- "body": {
- "releaseId": "0cc077cd-333a-39fd-90f7-560b1e06c63e"
- }
- }
- }
-}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CreateSearchAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CreateSearchAsync.json
deleted file mode 100644
index 2e253c17abc1..000000000000
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/CreateSearchAsync.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-07-20-preview1",
- "body": {
- "displayName": "Name",
- "description": "Search Description",
- "phonePlanIds": [
- "0cc077cd-333a-39fd-90f7-560b1e06c63e"
- ],
- "areaCode": "425",
- "quantity": 2,
- "locationOptions": [
- {
- "name": "state",
- "value": "WA"
- }
- ]
- },
- "endpoint": "https://resourcename.communications.azure.net/"
- },
- "responses": {
- "201": {
- "headers": {},
- "body": {
- "searchId": "0cc077cd-5337-7msf-964e-560b1e06c63e"
- }
- }
- }
-}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAcquiredPhoneNumbersAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAcquiredPhoneNumbersAsync.json
deleted file mode 100644
index 3ad4280fe83a..000000000000
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAcquiredPhoneNumbersAsync.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-07-20-preview1",
- "endpoint": "https://resourcename.communications.azure.net/",
- "locale": "en-us"
- },
- "responses": {
- "200": {
- "headers": {},
- "body": {
- "phoneNumbers": [
- {
- "phoneNumber": "+11234567890",
- "acquiredCapabilities": [
- "FirstPartyAppAssignment"
- ],
- "availableCapabilities": [
- "FirstPartyAppAssignment",
- "UserAssignment"
- ],
- "assignmentStatus": "Unassigned",
- "placeName": "Toll-Free, United States",
- "activationState": "Activated"
- },
- {
- "phoneNumber": "+18003456789",
- "acquiredCapabilities": [
- "FirstPartyAppAssignment"
- ],
- "availableCapabilities": [
- "FirstPartyAppAssignment",
- "UserAssignment"
- ],
- "assignmentStatus": "Unassigned",
- "placeName": "Toll-Free, United States",
- "activationState": "Activated"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAllReleasesAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAllReleasesAsync.json
deleted file mode 100644
index 29a8ddb4979e..000000000000
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAllReleasesAsync.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-07-20-preview1",
- "endpoint": "https://resourcename.communications.azure.net/"
- },
- "responses": {
- "200": {
- "headers": {},
- "body": {
- "entities": [
- {
- "id": "0cc077cd-333a-39fd-90f7-560b1e06c63e",
- "displayName": "Numbers for Vancouver Office",
- "createdAt": "2020-06-18T17:11:52.5005818+00:00",
- "quantity": 1,
- "quantityObtained": 1,
- "status": "completed",
- "focDate": "2020-06-18T17:11:52.5005818+00:00"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAllSearchesAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAllSearchesAsync.json
deleted file mode 100644
index 29a8ddb4979e..000000000000
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAllSearchesAsync.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-07-20-preview1",
- "endpoint": "https://resourcename.communications.azure.net/"
- },
- "responses": {
- "200": {
- "headers": {},
- "body": {
- "entities": [
- {
- "id": "0cc077cd-333a-39fd-90f7-560b1e06c63e",
- "displayName": "Numbers for Vancouver Office",
- "createdAt": "2020-06-18T17:11:52.5005818+00:00",
- "quantity": 1,
- "quantityObtained": 1,
- "status": "completed",
- "focDate": "2020-06-18T17:11:52.5005818+00:00"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAreaCodesAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAreaCodesAsync.json
deleted file mode 100644
index 1288173209cc..000000000000
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetAreaCodesAsync.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-07-20-preview1",
- "endpoint": "https://resourcename.communications.azure.net/",
- "locationType": "Selection",
- "countryCode": "CA",
- "phonePlanId": "0cc077cd-333a-39fd-90f7-560b1e06c63e"
- },
- "responses": {
- "200": {
- "headers": {},
- "body": {
- "primaryAreaCodes": [
- "236",
- "604",
- "778"
- ],
- "secondaryAreaCodes": []
- }
- }
- }
-}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetCountriesAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetCountriesAsync.json
deleted file mode 100644
index fe4dbb0b999f..000000000000
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetCountriesAsync.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-07-20-preview1",
- "endpoint": "https://resourcename.communications.azure.net/",
- "locale": "en-us"
- },
- "responses": {
- "200": {
- "headers": {},
- "body": {
- "countries": [
- {
- "localizedName": "Australia",
- "countryCode": "AU"
- },
- {
- "localizedName": "Japan",
- "countryCode": "JP"
- },
- {
- "localizedName": "United States",
- "countryCode": "US"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetLocationOptionsAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetLocationOptionsAsync.json
deleted file mode 100644
index b551fa840089..000000000000
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetLocationOptionsAsync.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-07-20-preview1",
- "countryCode": "US",
- "endpoint": "https://resourcename.communications.azure.net/",
- "phonePlanGroupId": "671ee064-662f-4c3b-82a9-af2ab200dd5c",
- "phonePlanId": "27b53eec-8ff4-4070-8900-fbeaabfd158a"
- },
- "responses": {
- "200": {
- "headers": {},
- "body": {
- "locationOptions": {
- "labelId": "state",
- "labelName": "State",
- "options": [
- {
- "name": "AK",
- "value": "AK",
- "locationOptions": [
- {
- "labelId": "city",
- "labelName": "City",
- "options": [
- {
- "name": "Anchorage",
- "value": "NOAM-US-AK-AN"
- }
- ]
- }
- ]
- },
- {
- "name": "AL",
- "value": "AL",
- "locationOptions": [
- {
- "labelId": "city",
- "labelName": "City",
- "options": [
- {
- "name": "Birmingham",
- "value": "NOAM-US-AL-BI"
- },
- {
- "name": "Huntsville",
- "value": "NOAM-US-AL-HN"
- },
- {
- "name": "Mobile",
- "value": "NOAM-US-AL-MO"
- },
- {
- "name": "Montgomery",
- "value": "NOAM-US-AL-MN"
- }
- ]
- }
- ]
- }
- ]
- }
- }
- }
- }
-}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetNumberCapabilitiesUpdateAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetNumberCapabilitiesUpdateAsync.json
deleted file mode 100644
index 11949cff84a3..000000000000
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetNumberCapabilitiesUpdateAsync.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-07-20-preview1",
- "endpoint": "https://resourcename.communications.azure.net/",
- "capabilitiesUpdateId": "0cc077cd-333a-39fd-90f7-560b1e06c63e"
- },
- "responses": {
- "200": {
- "headers": {},
- "body": {
- "capabilitiesUpdateId": "0cc077cd-333a-39fd-90f7-560b1e06c63e",
- "createdAt": "2020-06-18T17:11:52.5005818+00:00",
- "capabilitiesUpdateStatus": "Complete",
- "phoneNumberCapabilitiesUpdates": {
- "12345878991": {
- "add": [],
- "remove": [
- "InboundA2PSms",
- "OutboundA2PSms"
- ]
- }
- }
- }
- }
- }
-}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetNumberConfigurationAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetNumberConfigurationAsync.json
deleted file mode 100644
index 573d697b2934..000000000000
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetNumberConfigurationAsync.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-07-20-preview1",
- "body": {
- "phoneNumber": "+11234567890"
- },
- "endpoint": "https://resourcename.communications.azure.net/"
- },
- "responses": {
- "200": {
- "headers": {},
- "body": {
- "pstnConfiguration": {
- "callbackUrl": "www.callback.com",
- "applicationId": "abc123"
- }
- }
- }
- }
-}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetPhonePlanGroupsAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetPhonePlanGroupsAsync.json
deleted file mode 100644
index f418ffd2ff23..000000000000
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetPhonePlanGroupsAsync.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-07-20-preview1",
- "countryCode": "US",
- "endpoint": "https://resourcename.communications.azure.net/",
- "locale": "en-us"
- },
- "responses": {
- "200": {
- "headers": {},
- "body": {
- "phonePlanGroups": [
- {
- "phonePlanGroupId": "671ee064-662f-4c3b-82a9-af2ab200dd5c",
- "phoneNumberType": "Geographic",
- "localizedName": "Geographic",
- "localizedDescription": "These are Toll numbers",
- "rateInformation": {
- "monthlyRate": 2.0,
- "currencyType": "USD"
- }
- },
- {
- "phonePlanGroupId": "d47a0cdc-8dc1-4e82-a29b-39067f7fc317",
- "phoneNumberType": "TollFree",
- "localizedName": "TollFree",
- "localizedDescription": "These are toll free numbers used by Azure resources.",
- "rateInformation": {
- "monthlyRate": 1.0,
- "currencyType": "USD"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetPhonePlansAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetPhonePlansAsync.json
deleted file mode 100644
index 88ed446f84e8..000000000000
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetPhonePlansAsync.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-07-20-preview1",
- "countryCode": "US",
- "endpoint": "https://resourcename.communications.azure.net/",
- "phonePlanGroupId": "671ee064-662f-4c3b-82a9-af2ab200dd5c"
- },
- "responses": {
- "200": {
- "headers": {},
- "body": {
- "phonePlans": [
- {
- "phonePlanId": "27b53eec-8ff4-4070-8900-fbeaabfd158a",
- "localizedName": "Outbound Only PSTN - Geographic",
- "locationType": "Selection",
- "capabilities": [
- "Azure",
- "OutboundCalling",
- "ThirdPartyAppAssignment",
- "Geographic"
- ],
- "maximumSearchSize": 100
- }
- ]
- }
- }
- }
-}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetReleaseByIdAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetReleaseByIdAsync.json
deleted file mode 100644
index 10813ab35c36..000000000000
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetReleaseByIdAsync.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-07-20-preview1",
- "endpoint": "https://resourcename.communications.azure.net/",
- "releaseId": "0cc077cd-333a-39fd-90f7-560b1e06c63e"
- },
- "responses": {
- "200": {
- "headers": {},
- "body": {
- "releaseId": "0cc077cd-333a-39fd-90f7-560b1e06c63e"
- }
- }
- }
-}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetSearchByIdAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetSearchByIdAsync.json
deleted file mode 100644
index a0e892008493..000000000000
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/GetSearchByIdAsync.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-07-20-preview1",
- "endpoint": "https://resourcename.communications.azure.net/",
- "searchId": "0cc077cd-333a-39fd-90f7-560b1e06c63e"
- },
- "responses": {
- "200": {
- "headers": {},
- "body": {
- "searchId": "0cc077cd-333a-39fd-90f7-560b1e06c63e",
- "displayName": "Numbers for Vancouver Office",
- "createdAt": "2020-06-18T17:11:52.5005818+00:00",
- "description": "Get some new numbers for our office in Vancouver",
- "phonePlanIds": [
- "0cc077cd-333a-39fd-90f7-560b1e06c63e"
- ],
- "areaCode": "604",
- "quantity": 1,
- "locationOptions": [],
- "status": "completed",
- "phoneNumbers": []
- }
- }
- }
-}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/PurchaseSearchAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/PurchaseSearchAsync.json
deleted file mode 100644
index 0d393b557bc5..000000000000
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/PurchaseSearchAsync.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-07-20-preview1",
- "endpoint": "https://resourcename.communications.azure.net/",
- "searchId": "0cc077cd-333a-39fd-90f7-560b1e06c63e"
- },
- "responses": {
- "202": {}
- }
-}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/UnconfigurePhoneNumberAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/UnconfigurePhoneNumberAsync.json
deleted file mode 100644
index e8da11cf3109..000000000000
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/UnconfigurePhoneNumberAsync.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-07-20-preview1",
- "body": {
- "phoneNumber": "+11234567890"
- },
- "endpoint": "https://resourcename.communications.azure.net/"
- },
- "responses": {
- "200": {}
- }
-}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/UpdateNumberCapabilitiesAsync.json b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/UpdateNumberCapabilitiesAsync.json
deleted file mode 100644
index 612b5f2b2740..000000000000
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/preview/2020-07-20-preview1/examples/UpdateNumberCapabilitiesAsync.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-07-20-preview1",
- "body": {
- "phoneNumberCapabilitiesUpdate": {
- "12345878981": {
- "add": [
- "InboundA2PSms",
- "OutboundA2PSms"
- ],
- "remove": []
- },
- "12345878991": {
- "add": [],
- "remove": [
- "InboundA2PSms",
- "OutboundA2PSms"
- ]
- }
- }
- },
- "endpoint": "https://resourcename.communications.azure.net/"
- },
- "responses": {
- "200": {
- "headers": {},
- "body": {
- "capabilitiesUpdateId": "0cc077cd-5337-7msf-964e-560b1e06c63e"
- }
- }
- }
-}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/communicationserviceschat.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/communicationserviceschat.json
deleted file mode 100644
index f3230a2353df..000000000000
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/communicationserviceschat.json
+++ /dev/null
@@ -1,1703 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "Azure Communication Chat Service",
- "description": "Azure Communication Chat Service",
- "version": "2020-11-01-preview3"
- },
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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/{chatParticipantId}": {
- "delete": {
- "tags": [
- "Participants"
- ],
- "summary": "Remove a participant from a thread.",
- "operationId": "ChatThread_RemoveChatParticipant",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "chatThreadId",
- "description": "Thread id to remove the participant from.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "chatParticipantId",
- "description": "Id of the thread participant to remove from the thread.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "204": {
- "description": "Request successful."
- },
- "401": {
- "description": "Unauthorized.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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_CreateChatThreadWithRepeatabilityRequestId.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/ChatThreadsInfoCollection"
- }
- },
- "401": {
- "description": "Unauthorized.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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_UpdateChatThread",
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- }
- },
- "x-ms-examples": {
- "Update chat thread topic": {
- "$ref": "./examples/Threads_UpdateChatThreadTopic.json"
- }
- }
- },
- "get": {
- "tags": [
- "Threads"
- ],
- "summary": "Gets a chat thread.",
- "operationId": "Chat_GetChatThread",
- "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/ChatThread"
- }
- },
- "401": {
- "description": "Unauthorized.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- }
- },
- "x-ms-examples": {
- "Delete chat thread": {
- "$ref": "./examples/Threads_DeleteChatThread.json"
- }
- }
- }
- }
- },
- "definitions": {
- "ChatMessageReadReceipt": {
- "description": "A chat message read receipt indicates the time a chat message was read by a recipient.",
- "required": [
- "chatMessageId",
- "readOn",
- "senderId"
- ],
- "type": "object",
- "properties": {
- "senderId": {
- "description": "Id of the participant who read the message.",
- "type": "string",
- "example": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
- },
- "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
- }
- }
- },
- "Error": {
- "$ref": "../../../Microsoft.CommunicationServicesCommon/preview/2020-11-19-preview1/common.json#/definitions/CommunicationError"
- },
- "ErrorResponse": {
- "$ref": "../../../Microsoft.CommunicationServicesCommon/preview/2020-11-19-preview1/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": [
- "id"
- ],
- "type": "object",
- "properties": {
- "id": {
- "description": "The id of the chat participant.",
- "type": "string",
- "example": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
- },
- "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"
- }
- },
- "initiator": {
- "description": "Chat message content for messages of types participantAdded or participantRemoved.",
- "type": "string",
- "example": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
- }
- }
- },
- "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"
- },
- "senderId": {
- "description": "The id of the chat message sender.",
- "type": "string",
- "example": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
- },
- "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"
- }
- }
- }
- },
- "AddChatParticipantsErrors": {
- "description": "Errors encountered during the addition of the chat participant to the chat thread.",
- "required": [
- "invalidParticipants"
- ],
- "type": "object",
- "properties": {
- "invalidParticipants": {
- "description": "The participants that failed to be added to the chat thread.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Error"
- }
- }
- }
- },
- "AddChatParticipantsResult": {
- "description": "Result of the add chat participants operation.",
- "type": "object",
- "properties": {
- "errors": {
- "$ref": "#/definitions/AddChatParticipantsErrors"
- }
- }
- },
- "CreateChatThreadRequest": {
- "description": "Request payload for creating a chat thread.",
- "required": [
- "participants",
- "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"
- }
- }
- }
- },
- "ChatThread": {
- "description": "Chat thread.",
- "required": [
- "createdBy",
- "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"
- },
- "createdBy": {
- "description": "Id of the chat thread owner.",
- "type": "string",
- "example": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
- },
- "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"
- }
- }
- },
- "CreateChatThreadErrors": {
- "description": "Errors encountered during the creation of the chat thread.",
- "type": "object",
- "properties": {
- "invalidParticipants": {
- "description": "The participants that failed to be added to the chat thread.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Error"
- },
- "readOnly": true
- }
- }
- },
- "CreateChatThreadResult": {
- "description": "Result of the create chat thread operation.",
- "type": "object",
- "properties": {
- "chatThread": {
- "$ref": "#/definitions/ChatThread"
- },
- "errors": {
- "$ref": "#/definitions/CreateChatThreadErrors"
- }
- }
- },
- "ChatThreadInfo": {
- "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"
- }
- }
- },
- "ChatThreadsInfoCollection": {
- "description": "Collection of chat threads.",
- "required": [
- "value"
- ],
- "type": "object",
- "properties": {
- "value": {
- "description": "Collection of chat threads.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ChatThreadInfo"
- }
- },
- "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-01-27-preview4/communicationserviceschat.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/communicationserviceschat.json
deleted file mode 100644
index 7398a44a652e..000000000000
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/communicationserviceschat.json
+++ /dev/null
@@ -1,1711 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "Azure Communication Chat Service",
- "description": "Azure Communication Chat Service",
- "version": "2021-01-27-preview4"
- },
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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_CreateChatThreadWithRepeatabilityRequestId.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/ChatThreadsInfoCollection"
- }
- },
- "401": {
- "description": "Unauthorized.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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_UpdateChatThread",
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- }
- },
- "x-ms-examples": {
- "Update chat thread topic": {
- "$ref": "./examples/Threads_UpdateChatThreadTopic.json"
- }
- }
- },
- "get": {
- "tags": [
- "Threads"
- ],
- "summary": "Gets a chat thread.",
- "operationId": "Chat_GetChatThread",
- "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/ChatThread"
- }
- },
- "401": {
- "description": "Unauthorized.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- },
- "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
- }
- }
- },
- "Error": {
- "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationError"
- },
- "ErrorResponse": {
- "$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"
- }
- }
- }
- },
- "AddChatParticipantsErrors": {
- "description": "Errors encountered during the addition of the chat participant to the chat thread.",
- "required": [
- "invalidParticipants"
- ],
- "type": "object",
- "properties": {
- "invalidParticipants": {
- "description": "The participants that failed to be added to the chat thread.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Error"
- }
- }
- }
- },
- "AddChatParticipantsResult": {
- "description": "Result of the add chat participants operation.",
- "type": "object",
- "properties": {
- "errors": {
- "$ref": "#/definitions/AddChatParticipantsErrors"
- }
- }
- },
- "CreateChatThreadRequest": {
- "description": "Request payload for creating a chat thread.",
- "required": [
- "participants",
- "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"
- }
- }
- }
- },
- "ChatThread": {
- "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"
- }
- }
- },
- "CreateChatThreadErrors": {
- "description": "Errors encountered during the creation of the chat thread.",
- "type": "object",
- "properties": {
- "invalidParticipants": {
- "description": "The participants that failed to be added to the chat thread.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Error"
- },
- "readOnly": true
- }
- }
- },
- "CreateChatThreadResult": {
- "description": "Result of the create chat thread operation.",
- "type": "object",
- "properties": {
- "chatThread": {
- "$ref": "#/definitions/ChatThread"
- },
- "errors": {
- "$ref": "#/definitions/CreateChatThreadErrors"
- }
- }
- },
- "ChatThreadInfo": {
- "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"
- }
- }
- },
- "ChatThreadsInfoCollection": {
- "description": "Collection of chat threads.",
- "required": [
- "value"
- ],
- "type": "object",
- "properties": {
- "value": {
- "description": "Collection of chat threads.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ChatThreadInfo"
- }
- },
- "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/communicationserviceschat.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/communicationserviceschat.json
deleted file mode 100644
index 73b36b427f09..000000000000
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/communicationserviceschat.json
+++ /dev/null
@@ -1,1690 +0,0 @@
-{
- "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.CommunicationServicesIdentity/preview/2021-02-22-preview1/CommunicationIdentity.json b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2021-02-22-preview1/CommunicationIdentity.json
deleted file mode 100644
index 3a1d05a954ca..000000000000
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/preview/2021-02-22-preview1/CommunicationIdentity.json
+++ /dev/null
@@ -1,313 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "CommunicationIdentityClient",
- "description": "Azure Communication Identity Service",
- "version": "2021-02-22-preview1"
- },
- "paths": {
- "/identities": {
- "post": {
- "tags": [
- "Identity"
- ],
- "summary": "Create a new identity.",
- "operationId": "CommunicationIdentity_Create",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "in": "body",
- "name": "body",
- "schema": {
- "$ref": "#/definitions/CommunicationIdentityCreateRequest"
- }
- }
- ],
- "responses": {
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
- }
- },
- "201": {
- "description": "Created - Returns the created identity.",
- "schema": {
- "$ref": "#/definitions/CommunicationIdentityAccessTokenResult"
- }
- }
- },
- "x-ms-examples": {
- "Create an Identity": {
- "$ref": "./examples/CreateIdentity.json"
- }
- }
- }
- },
- "/identities/{id}": {
- "delete": {
- "tags": [
- "Identity"
- ],
- "summary": "Delete the identity, revoke all tokens for the identity and delete all associated data.",
- "operationId": "CommunicationIdentity_Delete",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "id",
- "description": "Identifier of the identity to be deleted.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
- }
- },
- "204": {
- "description": "Success"
- }
- },
- "x-ms-examples": {
- "Delete an identity": {
- "$ref": "./examples/DeleteIdentity.json"
- }
- }
- }
- },
- "/identities/{id}/:revokeAccessTokens": {
- "post": {
- "tags": [
- "Identity"
- ],
- "summary": "Revoke all access tokens for the specific identity.",
- "operationId": "CommunicationIdentity_RevokeAccessTokens",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "id",
- "description": "Identifier of the identity.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
- }
- },
- "204": {
- "description": "Success"
- }
- },
- "x-ms-examples": {
- "Revoke access tokens": {
- "$ref": "./examples/RevokeAccessTokens.json"
- }
- }
- }
- },
- "/identities/{id}/:issueAccessToken": {
- "post": {
- "tags": [
- "Token"
- ],
- "summary": "Issue a new token for an identity.",
- "operationId": "CommunicationIdentity_IssueAccessToken",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "id",
- "description": "Identifier of the identity to issue token for.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "in": "body",
- "name": "body",
- "description": "Requesting scopes for the new token.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/CommunicationIdentityAccessTokenRequest"
- }
- }
- ],
- "responses": {
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
- }
- },
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/CommunicationIdentityAccessToken"
- }
- }
- },
- "x-ms-examples": {
- "Issue an access token": {
- "$ref": "./examples/IssueAccessToken.json"
- }
- }
- }
- }
- },
- "definitions": {
- "CommunicationIdentityTokenScope": {
- "description": "List of scopes for an access token.",
- "enum": [
- "chat",
- "voip"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "CommunicationIdentityTokenScope",
- "modelAsString": true
- }
- },
- "CommunicationIdentityCreateRequest": {
- "type": "object",
- "properties": {
- "createTokenWithScopes": {
- "description": "Also create access token for the created identity.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/CommunicationIdentityTokenScope"
- }
- }
- }
- },
- "CommunicationIdentity": {
- "description": "A communication identity.",
- "required": [
- "id"
- ],
- "type": "object",
- "properties": {
- "id": {
- "description": "Identifier of the identity.",
- "type": "string"
- }
- }
- },
- "CommunicationIdentityAccessToken": {
- "description": "An access token.",
- "required": [
- "expiresOn",
- "token"
- ],
- "type": "object",
- "properties": {
- "token": {
- "description": "The access token issued for the identity.",
- "type": "string"
- },
- "expiresOn": {
- "format": "date-time",
- "description": "The expiry time of the token.",
- "type": "string"
- }
- }
- },
- "CommunicationIdentityAccessTokenResult": {
- "description": "A communication identity with access token.",
- "required": [
- "identity"
- ],
- "type": "object",
- "properties": {
- "identity": {
- "$ref": "#/definitions/CommunicationIdentity"
- },
- "accessToken": {
- "$ref": "#/definitions/CommunicationIdentityAccessToken"
- }
- }
- },
- "CommunicationIdentityAccessTokenRequest": {
- "required": [
- "scopes"
- ],
- "type": "object",
- "properties": {
- "scopes": {
- "description": "List of scopes attached to the token.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/CommunicationIdentityTokenScope"
- }
- }
- }
- }
- },
- "parameters": {
- "ApiVersionParameter": {
- "in": "query",
- "name": "api-version",
- "description": "Version of API to invoke.",
- "required": true,
- "type": "string"
- }
- },
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "flow": "implicit",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- }
- }
- },
- "x-ms-parameterized-host": {
- "hostTemplate": "{endpoint}",
- "useSchemePrefix": false,
- "parameters": [
- {
- "name": "endpoint",
- "description": "The communication resource, for example https://my-resource.communication.azure.com",
- "required": true,
- "type": "string",
- "in": "path",
- "x-ms-skip-url-encoding": true,
- "x-ms-parameter-location": "client"
- }
- ]
- }
-}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/stable/2021-03-07/CommunicationIdentity.json b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/stable/2021-03-07/CommunicationIdentity.json
deleted file mode 100644
index e227da9f4637..000000000000
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/stable/2021-03-07/CommunicationIdentity.json
+++ /dev/null
@@ -1,313 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "CommunicationIdentityClient",
- "description": "Azure Communication Identity Service",
- "version": "2021-03-07"
- },
- "paths": {
- "/identities": {
- "post": {
- "tags": [
- "Identity"
- ],
- "summary": "Create a new identity.",
- "operationId": "CommunicationIdentity_Create",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "in": "body",
- "name": "body",
- "schema": {
- "$ref": "#/definitions/CommunicationIdentityCreateRequest"
- }
- }
- ],
- "responses": {
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
- }
- },
- "201": {
- "description": "Created - Returns the created identity.",
- "schema": {
- "$ref": "#/definitions/CommunicationIdentityAccessTokenResult"
- }
- }
- },
- "x-ms-examples": {
- "Create an Identity": {
- "$ref": "./examples/CreateIdentity.json"
- }
- }
- }
- },
- "/identities/{id}": {
- "delete": {
- "tags": [
- "Identity"
- ],
- "summary": "Delete the identity, revoke all tokens for the identity and delete all associated data.",
- "operationId": "CommunicationIdentity_Delete",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "id",
- "description": "Identifier of the identity to be deleted.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
- }
- },
- "204": {
- "description": "Success"
- }
- },
- "x-ms-examples": {
- "Delete an identity": {
- "$ref": "./examples/DeleteIdentity.json"
- }
- }
- }
- },
- "/identities/{id}/:revokeAccessTokens": {
- "post": {
- "tags": [
- "Identity"
- ],
- "summary": "Revoke all access tokens for the specific identity.",
- "operationId": "CommunicationIdentity_RevokeAccessTokens",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "id",
- "description": "Identifier of the identity.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
- }
- },
- "204": {
- "description": "Success"
- }
- },
- "x-ms-examples": {
- "Revoke access tokens": {
- "$ref": "./examples/RevokeAccessTokens.json"
- }
- }
- }
- },
- "/identities/{id}/:issueAccessToken": {
- "post": {
- "tags": [
- "Token"
- ],
- "summary": "Issue a new token for an identity.",
- "operationId": "CommunicationIdentity_IssueAccessToken",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "id",
- "description": "Identifier of the identity to issue token for.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "in": "body",
- "name": "body",
- "description": "Requesting scopes for the new token.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/CommunicationIdentityAccessTokenRequest"
- }
- }
- ],
- "responses": {
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
- }
- },
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/CommunicationIdentityAccessToken"
- }
- }
- },
- "x-ms-examples": {
- "Issue an access token": {
- "$ref": "./examples/IssueAccessToken.json"
- }
- }
- }
- }
- },
- "definitions": {
- "CommunicationIdentityTokenScope": {
- "description": "List of scopes for an access token.",
- "enum": [
- "chat",
- "voip"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "CommunicationIdentityTokenScope",
- "modelAsString": true
- }
- },
- "CommunicationIdentityCreateRequest": {
- "type": "object",
- "properties": {
- "createTokenWithScopes": {
- "description": "Also create access token for the created identity.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/CommunicationIdentityTokenScope"
- }
- }
- }
- },
- "CommunicationIdentity": {
- "description": "A communication identity.",
- "required": [
- "id"
- ],
- "type": "object",
- "properties": {
- "id": {
- "description": "Identifier of the identity.",
- "type": "string"
- }
- }
- },
- "CommunicationIdentityAccessToken": {
- "description": "An access token.",
- "required": [
- "expiresOn",
- "token"
- ],
- "type": "object",
- "properties": {
- "token": {
- "description": "The access token issued for the identity.",
- "type": "string"
- },
- "expiresOn": {
- "format": "date-time",
- "description": "The expiry time of the token.",
- "type": "string"
- }
- }
- },
- "CommunicationIdentityAccessTokenResult": {
- "description": "A communication identity with access token.",
- "required": [
- "identity"
- ],
- "type": "object",
- "properties": {
- "identity": {
- "$ref": "#/definitions/CommunicationIdentity"
- },
- "accessToken": {
- "$ref": "#/definitions/CommunicationIdentityAccessToken"
- }
- }
- },
- "CommunicationIdentityAccessTokenRequest": {
- "required": [
- "scopes"
- ],
- "type": "object",
- "properties": {
- "scopes": {
- "description": "List of scopes attached to the token.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/CommunicationIdentityTokenScope"
- }
- }
- }
- }
- },
- "parameters": {
- "ApiVersionParameter": {
- "in": "query",
- "name": "api-version",
- "description": "Version of API to invoke.",
- "required": true,
- "type": "string"
- }
- },
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "flow": "implicit",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- }
- }
- },
- "x-ms-parameterized-host": {
- "hostTemplate": "{endpoint}",
- "useSchemePrefix": false,
- "parameters": [
- {
- "name": "endpoint",
- "description": "The communication resource, for example https://my-resource.communication.azure.com",
- "required": true,
- "type": "string",
- "in": "path",
- "x-ms-skip-url-encoding": true,
- "x-ms-parameter-location": "client"
- }
- ]
- }
-}
diff --git a/specification/communication/data-plane/PhoneNumbers/readme.csharp.md b/specification/communication/data-plane/PhoneNumbers/readme.csharp.md
new file mode 100644
index 000000000000..2efd3715cdc3
--- /dev/null
+++ b/specification/communication/data-plane/PhoneNumbers/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/PhoneNumbers/readme.md b/specification/communication/data-plane/PhoneNumbers/readme.md
new file mode 100644
index 000000000000..69bedd68901b
--- /dev/null
+++ b/specification/communication/data-plane/PhoneNumbers/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/PhoneNumbers/readme.python.md b/specification/communication/data-plane/PhoneNumbers/readme.python.md
new file mode 100644
index 000000000000..f7f55ff2159b
--- /dev/null
+++ b/specification/communication/data-plane/PhoneNumbers/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/PhoneNumbers/readme.ruby.md b/specification/communication/data-plane/PhoneNumbers/readme.ruby.md
new file mode 100644
index 000000000000..f521ab44dbf5
--- /dev/null
+++ b/specification/communication/data-plane/PhoneNumbers/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/PhoneNumbers/readme.typescript.md b/specification/communication/data-plane/PhoneNumbers/readme.typescript.md
new file mode 100644
index 000000000000..be9f877fd1c2
--- /dev/null
+++ b/specification/communication/data-plane/PhoneNumbers/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/PhoneNumbers/stable/2021-03-07/examples/DeleteOperation.json b/specification/communication/data-plane/PhoneNumbers/stable/2021-03-07/examples/DeleteOperation.json
new file mode 100644
index 000000000000..8b7aa415b069
--- /dev/null
+++ b/specification/communication/data-plane/PhoneNumbers/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/PhoneNumbers/stable/2021-03-07/examples/GetOperation.json b/specification/communication/data-plane/PhoneNumbers/stable/2021-03-07/examples/GetOperation.json
new file mode 100644
index 000000000000..1f4568fd1b96
--- /dev/null
+++ b/specification/communication/data-plane/PhoneNumbers/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/PhoneNumbers/stable/2021-03-07/examples/GetPhoneNumber.json b/specification/communication/data-plane/PhoneNumbers/stable/2021-03-07/examples/GetPhoneNumber.json
new file mode 100644
index 000000000000..ab3c6f51bcc6
--- /dev/null
+++ b/specification/communication/data-plane/PhoneNumbers/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/PhoneNumbers/stable/2021-03-07/examples/GetPhoneNumberSearchResult.json b/specification/communication/data-plane/PhoneNumbers/stable/2021-03-07/examples/GetPhoneNumberSearchResult.json
new file mode 100644
index 000000000000..c3468b2f8b53
--- /dev/null
+++ b/specification/communication/data-plane/PhoneNumbers/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/PhoneNumbers/stable/2021-03-07/examples/GetPhoneNumbers.json b/specification/communication/data-plane/PhoneNumbers/stable/2021-03-07/examples/GetPhoneNumbers.json
new file mode 100644
index 000000000000..92b9e1eee063
--- /dev/null
+++ b/specification/communication/data-plane/PhoneNumbers/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/PhoneNumbers/stable/2021-03-07/examples/PurchasePhoneNumbers.json b/specification/communication/data-plane/PhoneNumbers/stable/2021-03-07/examples/PurchasePhoneNumbers.json
new file mode 100644
index 000000000000..8885cfdb2973
--- /dev/null
+++ b/specification/communication/data-plane/PhoneNumbers/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/PhoneNumbers/stable/2021-03-07/examples/ReleasePhoneNumber.json b/specification/communication/data-plane/PhoneNumbers/stable/2021-03-07/examples/ReleasePhoneNumber.json
new file mode 100644
index 000000000000..9514610c1f89
--- /dev/null
+++ b/specification/communication/data-plane/PhoneNumbers/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/PhoneNumbers/stable/2021-03-07/examples/SearchPhoneNumbers.json b/specification/communication/data-plane/PhoneNumbers/stable/2021-03-07/examples/SearchPhoneNumbers.json
new file mode 100644
index 000000000000..20e5c220ef55
--- /dev/null
+++ b/specification/communication/data-plane/PhoneNumbers/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/PhoneNumbers/stable/2021-03-07/examples/UpdatePhoneNumberCapabilities.json b/specification/communication/data-plane/PhoneNumbers/stable/2021-03-07/examples/UpdatePhoneNumberCapabilities.json
new file mode 100644
index 000000000000..8c78283781f6
--- /dev/null
+++ b/specification/communication/data-plane/PhoneNumbers/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/PhoneNumbers/stable/2021-03-07/phonenumbers.json b/specification/communication/data-plane/PhoneNumbers/stable/2021-03-07/phonenumbers.json
new file mode 100644
index 000000000000..2579210b70f5
--- /dev/null
+++ b/specification/communication/data-plane/PhoneNumbers/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": "../../../Common/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": "../../../Common/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": "../../../Common/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": "../../../Common/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": "../../../Common/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": "../../../Common/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": "../../../Common/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": "../../../Common/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": "../../../Common/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": "../../../Common/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/preview/2020-07-20-preview1/communicationservicessms.json b/specification/communication/data-plane/Sms/preview/2020-07-20-preview1/communicationservicessms.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesSms/preview/2020-07-20-preview1/communicationservicessms.json
rename to specification/communication/data-plane/Sms/preview/2020-07-20-preview1/communicationservicessms.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesSms/preview/2020-07-20-preview1/examples/send.json b/specification/communication/data-plane/Sms/preview/2020-07-20-preview1/examples/send.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesSms/preview/2020-07-20-preview1/examples/send.json
rename to specification/communication/data-plane/Sms/preview/2020-07-20-preview1/examples/send.json
diff --git a/specification/communication/data-plane/Sms/readme.csharp.md b/specification/communication/data-plane/Sms/readme.csharp.md
new file mode 100644
index 000000000000..2efd3715cdc3
--- /dev/null
+++ b/specification/communication/data-plane/Sms/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/Sms/readme.md b/specification/communication/data-plane/Sms/readme.md
new file mode 100644
index 000000000000..d4cf1160c110
--- /dev/null
+++ b/specification/communication/data-plane/Sms/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/Sms/readme.python.md b/specification/communication/data-plane/Sms/readme.python.md
new file mode 100644
index 000000000000..f7f55ff2159b
--- /dev/null
+++ b/specification/communication/data-plane/Sms/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/Sms/readme.ruby.md b/specification/communication/data-plane/Sms/readme.ruby.md
new file mode 100644
index 000000000000..f521ab44dbf5
--- /dev/null
+++ b/specification/communication/data-plane/Sms/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/Sms/readme.typescript.md b/specification/communication/data-plane/Sms/readme.typescript.md
new file mode 100644
index 000000000000..be9f877fd1c2
--- /dev/null
+++ b/specification/communication/data-plane/Sms/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.CommunicationServicesSms/stable/2021-03-07/communicationservicessms.json b/specification/communication/data-plane/Sms/stable/2021-03-07/communicationservicessms.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesSms/stable/2021-03-07/communicationservicessms.json
rename to specification/communication/data-plane/Sms/stable/2021-03-07/communicationservicessms.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesSms/stable/2021-03-07/examples/send.json b/specification/communication/data-plane/Sms/stable/2021-03-07/examples/send.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesSms/stable/2021-03-07/examples/send.json
rename to specification/communication/data-plane/Sms/stable/2021-03-07/examples/send.json
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesTurn/preview/2021-02-22-preview1/CommunicationTurn.json b/specification/communication/data-plane/Turn/preview/2021-02-22-preview1/CommunicationTurn.json
similarity index 93%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesTurn/preview/2021-02-22-preview1/CommunicationTurn.json
rename to specification/communication/data-plane/Turn/preview/2021-02-22-preview1/CommunicationTurn.json
index d9dba569baa5..462437eca5d9 100644
--- a/specification/communication/data-plane/Microsoft.CommunicationServicesTurn/preview/2021-02-22-preview1/CommunicationTurn.json
+++ b/specification/communication/data-plane/Turn/preview/2021-02-22-preview1/CommunicationTurn.json
@@ -1,8 +1,8 @@
{
"swagger": "2.0",
"info": {
- "title": "CommunicationIdentityClient",
- "description": "Azure Communication Relay Service",
+ "title": "CommunicationNetworkingClient",
+ "description": "Azure Communication Networking Service",
"version": "2021-02-22-preview1"
},
"paths": {
@@ -32,7 +32,7 @@
"default": {
"description": "Error",
"schema": {
- "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
}
},
"200": {
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesTurn/preview/2021-02-22-preview1/examples/IssueTurnCredentials.json b/specification/communication/data-plane/Turn/preview/2021-02-22-preview1/examples/IssueTurnCredentials.json
similarity index 100%
rename from specification/communication/data-plane/Microsoft.CommunicationServicesTurn/preview/2021-02-22-preview1/examples/IssueTurnCredentials.json
rename to specification/communication/data-plane/Turn/preview/2021-02-22-preview1/examples/IssueTurnCredentials.json
diff --git a/specification/communication/data-plane/Turn/readme.csharp.md b/specification/communication/data-plane/Turn/readme.csharp.md
new file mode 100644
index 000000000000..2efd3715cdc3
--- /dev/null
+++ b/specification/communication/data-plane/Turn/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/Turn/readme.md b/specification/communication/data-plane/Turn/readme.md
new file mode 100644
index 000000000000..ef1a1f47ba50
--- /dev/null
+++ b/specification/communication/data-plane/Turn/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/Turn/readme.python.md b/specification/communication/data-plane/Turn/readme.python.md
new file mode 100644
index 000000000000..f7f55ff2159b
--- /dev/null
+++ b/specification/communication/data-plane/Turn/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/Turn/readme.ruby.md b/specification/communication/data-plane/Turn/readme.ruby.md
new file mode 100644
index 000000000000..f521ab44dbf5
--- /dev/null
+++ b/specification/communication/data-plane/Turn/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/Turn/readme.typescript.md b/specification/communication/data-plane/Turn/readme.typescript.md
new file mode 100644
index 000000000000..be9f877fd1c2
--- /dev/null
+++ b/specification/communication/data-plane/Turn/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 f3a8495b44db..000000000000
--- a/specification/communication/data-plane/readme.md
+++ /dev/null
@@ -1,166 +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-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:
- - Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/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
index 84f2d286939b..d9b39b604428 100644
--- 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
@@ -173,52 +173,6 @@
}
}
},
- "/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.",
@@ -703,58 +657,6 @@
}
}
},
- "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",
@@ -938,22 +840,6 @@
"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/getOperationStatus.json b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/getOperationStatus.json
deleted file mode 100644
index fc9587705dd9..000000000000
--- a/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/getOperationStatus.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "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/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
deleted file mode 100644
index 447921f5ed6b..000000000000
--- a/specification/communication/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,36 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-communication-2020-08-20
- - tag: schema-communication-2020-08-20-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### 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
-
-```
-
-### Tag: schema-communication-2020-08-20-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-communication-2020-08-20-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Communication/preview/2020-08-20-preview/CommunicationService.json
-
-```
diff --git a/specification/communication/resource-manager/readme.go.md b/specification/communication/resource-manager/readme.go.md
index d1113c532b23..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
```
diff --git a/specification/communication/resource-manager/readme.md b/specification/communication/resource-manager/readme.md
index 45d697427a39..c013a2460dd4 100644
--- a/specification/communication/resource-manager/readme.md
+++ b/specification/communication/resource-manager/readme.md
@@ -60,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 94ed970f40ac..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.0
- 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)
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
index 17e3b33cf33e..57e581920d07 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/disk.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/disk.json
@@ -1668,6 +1668,122 @@
"nextLinkName": "nextLink"
}
}
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{vmRestorePointName}/diskRestorePoints/{diskRestorePointName}/beginGetAccess": {
+ "post": {
+ "tags": [
+ "IncrementalRestorePoints"
+ ],
+ "operationId": "DiskRestorePoint_GrantAccess",
+ "description": "Grants access to a diskRestorePoint.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RestorePointCollectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VmRestorePointNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskRestorePointNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "grantAccessData",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GrantAccessData"
+ },
+ "description": "Access data object supplied in the body of the get disk access operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AccessUri"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Grants access to a diskRestorePoint.": {
+ "$ref": "./examples/BeginGetAccessDiskRestorePoint.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{vmRestorePointName}/diskRestorePoints/{diskRestorePointName}/endGetAccess": {
+ "post": {
+ "tags": [
+ "IncrementalRestorePoints"
+ ],
+ "operationId": "DiskRestorePoint_RevokeAccess",
+ "description": "Revokes access to a diskRestorePoint.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RestorePointCollectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VmRestorePointNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskRestorePointNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Revokes access to a diskRestorePoint.": {
+ "$ref": "./examples/EndGetAccessDiskRestorePoint.json"
+ }
+ }
+ }
}
},
"definitions": {
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/BeginGetAccessDiskRestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/BeginGetAccessDiskRestorePoint.json
new file mode 100644
index 000000000000..39574d184aa7
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/BeginGetAccessDiskRestorePoint.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "restorePointCollectionName": "rpc",
+ "vmRestorePointName": "vmrp",
+ "diskRestorePointName": "TestDisk45ceb03433006d1baee0_b70cd924-3362-4a80-93c2-9415eaa12745",
+ "api-version": "2020-12-01",
+ "grantAccessData": {
+ "access": "Read",
+ "durationInSeconds": 300
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "accessSAS": "https://md-gpvmcxzlzxgd.partition.blob.storage.azure.net/xx3cqcx53f0v/abcd?sv=2014-02-14&sr=b&sk=key1&sig=XXX&st=2021-05-24T18:02:34Z&se=2021-05-24T18:19:14Z&sp=r"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/EndGetAccessDiskRestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/EndGetAccessDiskRestorePoint.json
new file mode 100644
index 000000000000..2527d728d056
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/EndGetAccessDiskRestorePoint.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "restorePointCollectionName": "rpc",
+ "vmRestorePointName": "vmrp",
+ "diskRestorePointName": "TestDisk45ceb03433006d1baee0_b70cd924-3362-4a80-93c2-9415eaa12745",
+ "api-version": "2020-12-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/cloudService.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/cloudService.json
index fc8b803a8813..44de229cd1d6 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/cloudService.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/cloudService.json
@@ -103,10 +103,11 @@
{
"in": "query",
"name": "$expand",
- "description": "The expand expression to apply to the operation.",
+ "description": "The expand expression to apply to the operation. 'UserData' is not supported for cloud services.",
"type": "string",
"enum": [
- "instanceView"
+ "instanceView",
+ "userData"
],
"x-ms-enum": {
"name": "InstanceViewTypes",
@@ -219,10 +220,11 @@
{
"in": "query",
"name": "$expand",
- "description": "The expand expression to apply to the operation.",
+ "description": "The expand expression to apply to the operation. 'UserData' is not supported for cloud services.",
"type": "string",
"enum": [
- "instanceView"
+ "instanceView",
+ "userData"
],
"x-ms-enum": {
"name": "InstanceViewTypes",
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/compute.json
new file mode 100644
index 000000000000..5cfd2ded350b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/compute.json
@@ -0,0 +1,14037 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ComputeManagementClient",
+ "description": "The Compute Management 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.Compute/operations": {
+ "get": {
+ "tags": [
+ "ComputeOperations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Gets a list of compute operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ComputeOperationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}": {
+ "put": {
+ "tags": [
+ "AvailabilitySets"
+ ],
+ "operationId": "AvailabilitySets_CreateOrUpdate",
+ "description": "Create or update an availability set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "availabilitySetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the availability set."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AvailabilitySet"
+ },
+ "description": "Parameters supplied to the Create Availability Set operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AvailabilitySet"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create an availability set.": {
+ "$ref": "./examples/CreateAnAvailabilitySet.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "AvailabilitySets"
+ ],
+ "operationId": "AvailabilitySets_Update",
+ "description": "Update an availability set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "availabilitySetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the availability set."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AvailabilitySetUpdate"
+ },
+ "description": "Parameters supplied to the Update Availability Set operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AvailabilitySet"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AvailabilitySets"
+ ],
+ "operationId": "AvailabilitySets_Delete",
+ "description": "Delete an availability set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "availabilitySetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the availability set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "AvailabilitySets"
+ ],
+ "operationId": "AvailabilitySets_Get",
+ "description": "Retrieves information about an availability set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "availabilitySetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the availability set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AvailabilitySet"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/availabilitySets": {
+ "get": {
+ "tags": [
+ "AvailabilitySets"
+ ],
+ "operationId": "AvailabilitySets_ListBySubscription",
+ "description": "Lists all availability sets in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AvailabilitySetListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List availability sets in a subscription.": {
+ "$ref": "./examples/ListAvailabilitySetsInASubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets": {
+ "get": {
+ "tags": [
+ "AvailabilitySets"
+ ],
+ "operationId": "AvailabilitySets_List",
+ "description": "Lists all availability sets in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AvailabilitySetListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}/vmSizes": {
+ "get": {
+ "tags": [
+ "AvailabilitySets"
+ ],
+ "operationId": "AvailabilitySets_ListAvailableSizes",
+ "description": "Lists all available virtual machine sizes that can be used to create a new virtual machine in an existing availability set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "availabilitySetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the availability set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineSizeListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/proximityPlacementGroups/{proximityPlacementGroupName}": {
+ "put": {
+ "tags": [
+ "ProximityPlacementGroups"
+ ],
+ "operationId": "ProximityPlacementGroups_CreateOrUpdate",
+ "description": "Create or update a proximity placement group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "proximityPlacementGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the proximity placement group."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProximityPlacementGroup"
+ },
+ "description": "Parameters supplied to the Create Proximity Placement Group operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProximityPlacementGroup"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ProximityPlacementGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update a proximity placement group.": {
+ "$ref": "./examples/CreateOrUpdateAProximityPlacementGroup.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ProximityPlacementGroups"
+ ],
+ "operationId": "ProximityPlacementGroups_Update",
+ "description": "Update a proximity placement group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "proximityPlacementGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the proximity placement group."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProximityPlacementGroupUpdate"
+ },
+ "description": "Parameters supplied to the Update Proximity Placement Group operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProximityPlacementGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a proximity placement group.": {
+ "$ref": "./examples/PatchAProximityPlacementGroup.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProximityPlacementGroups"
+ ],
+ "operationId": "ProximityPlacementGroups_Delete",
+ "description": "Delete a proximity placement group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "proximityPlacementGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the proximity placement group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ }
+ },
+ "x-ms-examples": {
+ "Create a proximity placement group.": {
+ "$ref": "./examples/DeleteAProximityPlacementGroup.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ProximityPlacementGroups"
+ ],
+ "operationId": "ProximityPlacementGroups_Get",
+ "description": "Retrieves information about a proximity placement group .",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "proximityPlacementGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the proximity placement group."
+ },
+ {
+ "name": "includeColocationStatus",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "includeColocationStatus=true enables fetching the colocation status of all the resources in the proximity placement group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProximityPlacementGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a proximity placement group.": {
+ "$ref": "./examples/GetAProximityPlacementGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/proximityPlacementGroups": {
+ "get": {
+ "tags": [
+ "ProximityPlacementGroups"
+ ],
+ "operationId": "ProximityPlacementGroups_ListBySubscription",
+ "description": "Lists all proximity placement groups in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProximityPlacementGroupListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Create a proximity placement group.": {
+ "$ref": "./examples/ListProximityPlacementGroupsInASubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/proximityPlacementGroups": {
+ "get": {
+ "tags": [
+ "ProximityPlacementGroups"
+ ],
+ "operationId": "ProximityPlacementGroups_ListByResourceGroup",
+ "description": "Lists all proximity placement groups in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProximityPlacementGroupListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Create a proximity placement group.": {
+ "$ref": "./examples/ListProximityPlacementGroupsInAResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}": {
+ "put": {
+ "tags": [
+ "DedicatedHostGroups"
+ ],
+ "operationId": "DedicatedHostGroups_CreateOrUpdate",
+ "description": "Create or update a dedicated host group. For details of Dedicated Host and Dedicated Host Groups please see [Dedicated Host Documentation] (https://go.microsoft.com/fwlink/?linkid=2082596)",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostGroup"
+ },
+ "description": "Parameters supplied to the Create Dedicated Host Group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostGroup"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a dedicated host group.": {
+ "$ref": "./examples/CreateOrUpdateADedicatedHostGroup.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "DedicatedHostGroups"
+ ],
+ "operationId": "DedicatedHostGroups_Update",
+ "description": "Update an dedicated host group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostGroupUpdate"
+ },
+ "description": "Parameters supplied to the Update Dedicated Host Group operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostGroup"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DedicatedHostGroups"
+ ],
+ "operationId": "DedicatedHostGroups_Delete",
+ "description": "Delete a dedicated host group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "DedicatedHostGroups"
+ ],
+ "operationId": "DedicatedHostGroups_Get",
+ "description": "Retrieves information about a dedicated host group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the dedicated hosts under the dedicated host group. 'UserData' is not supported for dedicated host group.",
+ "enum": [
+ "instanceView",
+ "userData"
+ ],
+ "x-ms-enum": {
+ "name": "InstanceViewTypes",
+ "modelAsString": false
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a dedicated host group.": {
+ "$ref": "./examples/GetADedicatedHostGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups": {
+ "get": {
+ "tags": [
+ "DedicatedHostGroups"
+ ],
+ "operationId": "DedicatedHostGroups_ListByResourceGroup",
+ "description": "Lists all of the dedicated host groups in the specified resource group. Use the nextLink property in the response to get the next page of dedicated host groups.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostGroupListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/hostGroups": {
+ "get": {
+ "tags": [
+ "DedicatedHostGroups"
+ ],
+ "operationId": "DedicatedHostGroups_ListBySubscription",
+ "description": "Lists all of the dedicated host groups in the subscription. Use the nextLink property in the response to get the next page of dedicated host groups.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostGroupListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}/hosts/{hostName}": {
+ "put": {
+ "tags": [
+ "DedicatedHosts"
+ ],
+ "operationId": "DedicatedHosts_CreateOrUpdate",
+ "description": "Create or update a dedicated host .",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "name": "hostName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host ."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DedicatedHost"
+ },
+ "description": "Parameters supplied to the Create Dedicated Host."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHost"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHost"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a dedicated host .": {
+ "$ref": "./examples/CreateOrUpdateADedicatedHost.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "DedicatedHosts"
+ ],
+ "operationId": "DedicatedHosts_Update",
+ "description": "Update an dedicated host .",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "name": "hostName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host ."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostUpdate"
+ },
+ "description": "Parameters supplied to the Update Dedicated Host operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHost"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "DedicatedHosts"
+ ],
+ "operationId": "DedicatedHosts_Delete",
+ "description": "Delete a dedicated host.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "name": "hostName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "DedicatedHosts"
+ ],
+ "operationId": "DedicatedHosts_Get",
+ "description": "Retrieves information about a dedicated host.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "name": "hostName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the dedicated host. 'UserData' is not supported for dedicated host.",
+ "enum": [
+ "instanceView",
+ "userData"
+ ],
+ "x-ms-enum": {
+ "name": "InstanceViewTypes",
+ "modelAsString": false
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHost"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a dedicated host.": {
+ "$ref": "./examples/GetADedicatedHost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}/hosts": {
+ "get": {
+ "tags": [
+ "DedicatedHost"
+ ],
+ "operationId": "DedicatedHosts_ListByHostGroup",
+ "description": "Lists all of the dedicated hosts in the specified dedicated host group. Use the nextLink property in the response to get the next page of dedicated hosts.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/sshPublicKeys": {
+ "get": {
+ "tags": [
+ "SshPublicKeys"
+ ],
+ "operationId": "SshPublicKeys_ListBySubscription",
+ "description": "Lists all of the SSH public keys in the subscription. Use the nextLink property in the response to get the next page of SSH public keys.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SshPublicKeysGroupListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/sshPublicKeys": {
+ "get": {
+ "tags": [
+ "SshPublicKeys"
+ ],
+ "operationId": "SshPublicKeys_ListByResourceGroup",
+ "description": "Lists all of the SSH public keys in the specified resource group. Use the nextLink property in the response to get the next page of SSH public keys.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SshPublicKeysGroupListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/sshPublicKeys/{sshPublicKeyName}": {
+ "put": {
+ "tags": [
+ "SshPublicKeys"
+ ],
+ "operationId": "SshPublicKeys_Create",
+ "description": "Creates a new SSH public key resource.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "sshPublicKeyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the SSH public key."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SshPublicKeyResource"
+ },
+ "description": "Parameters supplied to create the SSH public key."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SshPublicKeyResource"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/SshPublicKeyResource"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a new SSH public key resource.": {
+ "$ref": "./examples/CreateAnSshPublicKey.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SshPublicKeys"
+ ],
+ "operationId": "SshPublicKeys_Update",
+ "description": "Updates a new SSH public key resource.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "sshPublicKeyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the SSH public key."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SshPublicKeyUpdateResource"
+ },
+ "description": "Parameters supplied to update the SSH public key."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SshPublicKeyResource"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "SshPublicKeys"
+ ],
+ "operationId": "SshPublicKeys_Delete",
+ "description": "Delete an SSH public key.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "sshPublicKeyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the SSH public key."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "SshPublicKeys"
+ ],
+ "operationId": "SshPublicKeys_Get",
+ "description": "Retrieves information about an SSH public key.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "sshPublicKeyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the SSH public key."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SshPublicKeyResource"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get an ssh public key.": {
+ "$ref": "./examples/GetAnSshPublicKey.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/sshPublicKeys/{sshPublicKeyName}/generateKeyPair": {
+ "post": {
+ "tags": [
+ "SshPublicKeys"
+ ],
+ "operationId": "SshPublicKeys_GenerateKeyPair",
+ "description": "Generates and returns a public/private key pair and populates the SSH public key resource with the public key. The length of the key will be 3072 bits. This operation can only be performed once per SSH public key resource.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "sshPublicKeyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the SSH public key."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SshPublicKeyGenerateKeyPairResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Generate an SSH key pair.": {
+ "$ref": "./examples/GenerateSshKeyPair.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions/{version}": {
+ "get": {
+ "tags": [
+ "VirtualMachineExtensionImages"
+ ],
+ "operationId": "VirtualMachineExtensionImages_Get",
+ "description": "Gets a virtual machine extension image.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "type",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "version",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtensionImage"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types": {
+ "get": {
+ "tags": [
+ "VirtualMachineExtensionImages"
+ ],
+ "operationId": "VirtualMachineExtensionImages_ListTypes",
+ "description": "Gets a list of virtual machine extension image types.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineExtensionImage"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions": {
+ "get": {
+ "tags": [
+ "VirtualMachineExtensionImages"
+ ],
+ "operationId": "VirtualMachineExtensionImages_ListVersions",
+ "description": "Gets a list of virtual machine extension image versions.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "type",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation."
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineExtensionImage"
+ }
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/VirtualMachineExtensionImage"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions/{vmExtensionName}": {
+ "put": {
+ "tags": [
+ "VirtualMachineExtensions"
+ ],
+ "operationId": "VirtualMachineExtensions_CreateOrUpdate",
+ "description": "The operation to create or update the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine where the extension should be created or updated."
+ },
+ {
+ "name": "vmExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ },
+ "description": "Parameters supplied to the Create Virtual Machine Extension operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "VirtualMachineExtensions"
+ ],
+ "operationId": "VirtualMachineExtensions_Update",
+ "description": "The operation to update the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine where the extension should be updated."
+ },
+ {
+ "name": "vmExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtensionUpdate"
+ },
+ "description": "Parameters supplied to the Update Virtual Machine Extension operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "VirtualMachineExtensions"
+ ],
+ "operationId": "VirtualMachineExtensions_Delete",
+ "description": "The operation to delete the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine where the extension should be deleted."
+ },
+ {
+ "name": "vmExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine extension."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "VirtualMachineExtensions"
+ ],
+ "operationId": "VirtualMachineExtensions_Get",
+ "description": "The operation to get the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine containing the extension."
+ },
+ {
+ "name": "vmExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine extension."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions": {
+ "get": {
+ "tags": [
+ "VirtualMachineExtensions"
+ ],
+ "operationId": "VirtualMachineExtensions_List",
+ "description": "The operation to get all extensions of a Virtual Machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine containing the extension."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtensionsListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions/{version}": {
+ "get": {
+ "tags": [
+ "VirtualMachineImages"
+ ],
+ "operationId": "VirtualMachineImages_Get",
+ "description": "Gets a virtual machine image.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher."
+ },
+ {
+ "name": "offer",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher offer."
+ },
+ {
+ "name": "skus",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image SKU."
+ },
+ {
+ "name": "version",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image SKU version."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineImage"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions": {
+ "get": {
+ "tags": [
+ "VirtualMachineImages"
+ ],
+ "operationId": "VirtualMachineImages_List",
+ "description": "Gets a list of all virtual machine image versions for the specified location, publisher, offer, and SKU.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher."
+ },
+ {
+ "name": "offer",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher offer."
+ },
+ {
+ "name": "skus",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image SKU."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineImageResource"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers": {
+ "get": {
+ "tags": [
+ "VirtualMachineImages"
+ ],
+ "operationId": "VirtualMachineImages_ListOffers",
+ "description": "Gets a list of virtual machine image offers for the specified location and publisher.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineImageResource"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers": {
+ "get": {
+ "tags": [
+ "VirtualMachineImages"
+ ],
+ "operationId": "VirtualMachineImages_ListPublishers",
+ "description": "Gets a list of virtual machine image publishers for the specified Azure location.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineImageResource"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus": {
+ "get": {
+ "tags": [
+ "VirtualMachineImages"
+ ],
+ "operationId": "VirtualMachineImages_ListSkus",
+ "description": "Gets a list of virtual machine image SKUs for the specified location, publisher, and offer.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher."
+ },
+ {
+ "name": "offer",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher offer."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineImageResource"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/edgeZones/{edgeZone}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions/{version}": {
+ "get": {
+ "tags": [
+ "VirtualMachineImages"
+ ],
+ "operationId": "VirtualMachineImagesEdgeZone_Get",
+ "description": "Gets a virtual machine image in an edge zone.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "edgeZone",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the edge zone."
+ },
+ {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher."
+ },
+ {
+ "name": "offer",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher offer."
+ },
+ {
+ "name": "skus",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image SKU."
+ },
+ {
+ "name": "version",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image SKU version."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineImage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/edgeZones/{edgeZone}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions": {
+ "get": {
+ "tags": [
+ "VirtualMachineImages"
+ ],
+ "operationId": "VirtualMachineImagesEdgeZone_List",
+ "description": "Gets a list of all virtual machine image versions for the specified location, edge zone, publisher, offer, and SKU.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "edgeZone",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the edge zone."
+ },
+ {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher."
+ },
+ {
+ "name": "offer",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher offer."
+ },
+ {
+ "name": "skus",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image SKU."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "An integer value specifying the number of images to return that matches supplied values."
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Specifies the order of the results returned. Formatted as an OData query."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineImageResource"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/edgeZones/{edgeZone}/publishers/{publisherName}/artifacttypes/vmimage/offers": {
+ "get": {
+ "tags": [
+ "VirtualMachineImages"
+ ],
+ "operationId": "VirtualMachineImagesEdgeZone_ListOffers",
+ "description": "Gets a list of virtual machine image offers for the specified location, edge zone and publisher.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "edgeZone",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the edge zone."
+ },
+ {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineImageResource"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/edgeZones/{edgeZone}/publishers": {
+ "get": {
+ "tags": [
+ "VirtualMachineImages"
+ ],
+ "operationId": "VirtualMachineImagesEdgeZone_ListPublishers",
+ "description": "Gets a list of virtual machine image publishers for the specified Azure location and edge zone.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "edgeZone",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the edge zone."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineImageResource"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/edgeZones/{edgeZone}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus": {
+ "get": {
+ "tags": [
+ "VirtualMachineImages"
+ ],
+ "operationId": "VirtualMachineImagesEdgeZone_ListSkus",
+ "description": "Gets a list of virtual machine image SKUs for the specified location, edge zone, publisher, and offer.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "edgeZone",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the edge zone."
+ },
+ {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher."
+ },
+ {
+ "name": "offer",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher offer."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineImageResource"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/usages": {
+ "get": {
+ "tags": [
+ "Usage"
+ ],
+ "operationId": "Usage_List",
+ "description": "Gets, for the specified location, the current compute resource usage information as well as the limits for compute resources under the subscription.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location for which resource usage is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ListUsagesResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/virtualMachines": {
+ "get": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_ListByLocation",
+ "description": "Gets all the virtual machines under the specified subscription for the specified location.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location for which virtual machines under the subscription are queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Lists all the virtual machines under the specified subscription for the specified location.": {
+ "$ref": "./examples/ListVirtualMachinesInASubscriptionByLocation.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/virtualMachineScaleSets": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_ListByLocation",
+ "description": "Gets all the VM scale sets under the specified subscription for the specified location.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location for which VM scale sets under the subscription are queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Lists all the VM scale sets under the specified subscription for the specified location.": {
+ "$ref": "./examples/ListVirtualMachineScaleSetsInASubscriptionByLocation.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/vmSizes": {
+ "get": {
+ "tags": [
+ "VirtualMachineSizes"
+ ],
+ "operationId": "VirtualMachineSizes_List",
+ "description": "This API is deprecated. Use [Resources Skus](https://docs.microsoft.com/rest/api/compute/resourceskus/list)",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location upon which virtual-machine-sizes is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineSizeListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}": {
+ "put": {
+ "tags": [
+ "Images"
+ ],
+ "operationId": "Images_CreateOrUpdate",
+ "description": "Create or update an image.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "imageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the image."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Image"
+ },
+ "description": "Parameters supplied to the Create Image operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Image"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Image"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a virtual machine image from a blob.": {
+ "$ref": "./examples/CreateAnImageFromABlob.json"
+ },
+ "Create a virtual machine image from a snapshot.": {
+ "$ref": "./examples/CreateAnImageFromASnapshot.json"
+ },
+ "Create a virtual machine image from a managed disk.": {
+ "$ref": "./examples/CreateAnImageFromAManagedDisk.json"
+ },
+ "Create a virtual machine image from an existing virtual machine.": {
+ "$ref": "./examples/CreateAnImageFromAVM.json"
+ },
+ "Create a virtual machine image that includes a data disk from a blob.": {
+ "$ref": "./examples/CreateAnImageThatIncludesADataDiskFromABlob.json"
+ },
+ "Create a virtual machine image that includes a data disk from a snapshot.": {
+ "$ref": "./examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json"
+ },
+ "Create a virtual machine image that includes a data disk from a managed disk.": {
+ "$ref": "./examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json"
+ },
+ "Create a virtual machine image from a blob with DiskEncryptionSet resource.": {
+ "$ref": "./examples/CreateAnImageFromABlobWithDiskEncryptionSet.json"
+ },
+ "Create a virtual machine image from a snapshot with DiskEncryptionSet resource.": {
+ "$ref": "./examples/CreateAnImageFromASnapshotWithDiskEncryptionSet.json"
+ },
+ "Create a virtual machine image from a managed disk with DiskEncryptionSet resource.": {
+ "$ref": "./examples/CreateAnImageFromAManagedDiskWithDiskEncryptionSet.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Images"
+ ],
+ "operationId": "Images_Update",
+ "description": "Update an image.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "imageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the image."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImageUpdate"
+ },
+ "description": "Parameters supplied to the Update Image operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Image"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Image"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates tags of an Image.": {
+ "$ref": "./examples/UpdateImage.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Images"
+ ],
+ "operationId": "Images_Delete",
+ "description": "Deletes an Image.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "imageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the image."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Images"
+ ],
+ "operationId": "Images_Get",
+ "description": "Gets an image.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "imageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the image."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Image"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get information about a virtual machine image.": {
+ "$ref": "./examples/GetInformationAboutAnImage.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images": {
+ "get": {
+ "tags": [
+ "Images"
+ ],
+ "operationId": "Images_ListByResourceGroup",
+ "description": "Gets the list of images under a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all virtual machine images in a resource group.": {
+ "$ref": "./examples/ListImagesInAResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/images": {
+ "get": {
+ "tags": [
+ "Images"
+ ],
+ "operationId": "Images_List",
+ "description": "Gets the list of Images in the subscription. Use nextLink property in the response to get the next page of Images. Do this till nextLink is null to fetch all the Images.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all virtual machine images in a subscription.": {
+ "$ref": "./examples/ListImagesInASubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/capture": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Capture",
+ "description": "Captures the VM by copying virtual hard disks of the VM and outputs a template that can be used to create similar VMs.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineCaptureParameters"
+ },
+ "description": "Parameters supplied to the Capture Virtual Machine operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineCaptureResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}": {
+ "put": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_CreateOrUpdate",
+ "description": "The operation to create or update a virtual machine. Please note some properties can be set only during virtual machine creation.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachine"
+ },
+ "description": "Parameters supplied to the Create Virtual Machine operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachine"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachine"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create a vm with password authentication.": {
+ "$ref": "./examples/CreateAVmWithPasswordAuthentication.json"
+ },
+ "Create a vm with ssh authentication.": {
+ "$ref": "./examples/CreateAVmWithSshAuthentication.json"
+ },
+ "Create a vm with premium storage.": {
+ "$ref": "./examples/CreateAVmWithPremiumStorage.json"
+ },
+ "Create a vm in a Virtual Machine Scale Set with customer assigned platformFaultDomain.": {
+ "$ref": "./examples/CreateAVmInAVirtualMachineScaleSetWithCustomerAssignedPlatformFaultDomain.json"
+ },
+ "Create a vm in an availability set.": {
+ "$ref": "./examples/CreateAVmInAnAvailabilitySet.json"
+ },
+ "Create a vm with Scheduled Events Profile": {
+ "$ref": "./examples/CreateAVmWithScheduledEventsProfile.json"
+ },
+ "Create a vm with boot diagnostics.": {
+ "$ref": "./examples/CreateAVmWithBootDiagnostics.json"
+ },
+ "Create a vm with managed boot diagnostics.": {
+ "$ref": "./examples/CreateAVmWithManagedBootDiagnostics.json"
+ },
+ "Create a vm with empty data disks.": {
+ "$ref": "./examples/CreateAVmWithEmptyDataDisks.json"
+ },
+ "Create a vm with a marketplace image plan.": {
+ "$ref": "./examples/CreateAVmWithAMarketplaceImagePlan.json"
+ },
+ "Create a vm from a custom image.": {
+ "$ref": "./examples/CreateAVmFromACustomImage.json"
+ },
+ "Create a platform-image vm with unmanaged os and data disks.": {
+ "$ref": "./examples/CreateAPlatformImageVmWithUnmanagedOsAndDataDisks.json"
+ },
+ "Create a custom-image vm from an unmanaged generalized os image.": {
+ "$ref": "./examples/CreateACustomImageVmFromAnUnmanagedGeneralizedOsImage.json"
+ },
+ "Create a vm with ephemeral os disk.": {
+ "$ref": "./examples/CreateAVmWithADiffOsDisk.json"
+ },
+ "Create a vm with DiskEncryptionSet resource id in the os disk and data disk.": {
+ "$ref": "./examples/CreateAVmWithDiskEncryptionSetResource.json"
+ },
+ "Create a vm with ephemeral os disk provisioning in Resource disk using placement property.": {
+ "$ref": "./examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsResourceDisk.json"
+ },
+ "Create a vm with ephemeral os disk provisioning in Cache disk using placement property.": {
+ "$ref": "./examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsCacheDisk.json"
+ },
+ "Create a vm with Host Encryption using encryptionAtHost property.": {
+ "$ref": "./examples/CreateAVmWithEncryptionAtHost.json"
+ },
+ "Create a Windows vm with a patch setting patchMode of AutomaticByOS.": {
+ "$ref": "./examples/CreateAWindowsVmWithPatchSettingModeOfAutomaticByOS.json"
+ },
+ "Create a Windows vm with patch settings patchMode and assessmentMode set to AutomaticByPlatform.": {
+ "$ref": "./examples/CreateAWindowsVmWithPatchSettingModesOfAutomaticByPlatform.json"
+ },
+ "Create a Windows vm with a patch setting patchMode of Manual.": {
+ "$ref": "./examples/CreateAWindowsVmWithPatchSettingModeOfManual.json"
+ },
+ "Create a Windows vm with a patch setting assessmentMode of ImageDefault.": {
+ "$ref": "./examples/CreateAWindowsVmWithPatchSettingAssessmentModeOfImageDefault.json"
+ },
+ "Create a Windows vm with a patch setting patchMode of AutomaticByPlatform and enableHotpatching set to true.": {
+ "$ref": "./examples/CreateAWindowsVmWithPatchSettingModeOfAutomaticByPlatformAndEnableHotPatchingTrue.json"
+ },
+ "Create a Linux vm with a patch settings patchMode and assessmentMode set to AutomaticByPlatform.": {
+ "$ref": "./examples/CreateALinuxVmWithPatchSettingModesOfAutomaticByPlatform.json"
+ },
+ "Create a Linux vm with a patch setting patchMode of ImageDefault.": {
+ "$ref": "./examples/CreateALinuxVmWithPatchSettingModeOfImageDefault.json"
+ },
+ "Create a Linux vm with a patch setting assessmentMode of ImageDefault.": {
+ "$ref": "./examples/CreateALinuxVmWithPatchSettingAssessmentModeOfImageDefault.json"
+ },
+ "Create a vm with an extensions time budget.": {
+ "$ref": "./examples/CreateAVmWithExtensionsTimeBudget.json"
+ },
+ "Create a VM with Uefi Settings of secureBoot and vTPM.": {
+ "$ref": "./examples/CreateAVmWithUefiSettings.json"
+ },
+ "Create a vm from a generalized shared image.": {
+ "$ref": "./examples/CreateAVmFromAGeneralizedSharedImage.json"
+ },
+ "Create a vm from a specialized shared image.": {
+ "$ref": "./examples/CreateAVmFromASpecializedSharedImage.json"
+ },
+ "Create a VM with network interface configuration": {
+ "$ref": "./examples/CreateAVmWithNetworkInterfaceConfiguration.json"
+ },
+ "Create a VM with UserData": {
+ "$ref": "./examples/CreateOrUpdateAVmWithUserData.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Update",
+ "description": "The operation to update a virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineUpdate"
+ },
+ "description": "Parameters supplied to the Update Virtual Machine operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachine"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a VM by detaching data disk": {
+ "$ref": "./examples/UpdateVMDetachDataDiskUsingToBeDetachedProperty.json"
+ },
+ "Update a VM by force-detaching data disk": {
+ "$ref": "./examples/UpdateVMForceDetachDataDisk.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Delete",
+ "description": "The operation to delete a virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "forceDeletion",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Optional parameter to force delete virtual machines.(Feature in Preview)"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Force delete a VM": {
+ "$ref": "./examples/ForceDeleteVirtualMachine.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Get",
+ "description": "Retrieves information about the model view or the instance view of a virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation. 'InstanceView' retrieves a snapshot of the runtime properties of the virtual machine that is managed by the platform and can change outside of control plane operations. 'UserData' retrieves the UserData property as part of the VM model view that was provided by the user during the VM Create/Update operation.",
+ "enum": [
+ "instanceView",
+ "userData"
+ ],
+ "x-ms-enum": {
+ "name": "InstanceViewTypes",
+ "modelAsString": false
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachine"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a Virtual Machine.": {
+ "$ref": "./examples/GetVirtualMachine.json"
+ },
+ "Get a virtual machine placed on a dedicated host group through automatic placement": {
+ "$ref": "./examples/GetVirtualMachineAutoPlacedOnDedicatedHostGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/instanceView": {
+ "get": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_InstanceView",
+ "description": "Retrieves information about the run-time state of a virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineInstanceView"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Virtual Machine Instance View.": {
+ "$ref": "./examples/GetVirtualMachineInstanceView.json"
+ },
+ "Get instance view of a virtual machine placed on a dedicated host group through automatic placement.": {
+ "$ref": "./examples/GetVirtualMachineInstanceViewAutoPlacedOnDedicatedHostGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/convertToManagedDisks": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_ConvertToManagedDisks",
+ "description": "Converts virtual machine disks from blob-based to managed disks. Virtual machine must be stop-deallocated before invoking this operation.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/deallocate": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Deallocate",
+ "description": "Shuts down the virtual machine and releases the compute resources. You are not billed for the compute resources that this virtual machine uses.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/generalize": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Generalize",
+ "description": "Sets the OS state of the virtual machine to generalized. It is recommended to sysprep the virtual machine before performing this operation.
For Windows, please refer to [Create a managed image of a generalized VM in Azure](https://docs.microsoft.com/azure/virtual-machines/windows/capture-image-resource).
For Linux, please refer to [How to create an image of a virtual machine or VHD](https://docs.microsoft.com/azure/virtual-machines/linux/capture-image).",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ }
+ },
+ "x-ms-examples": {
+ "Generalize a Virtual Machine.": {
+ "$ref": "./examples/GeneralizeVirtualMachine.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines": {
+ "get": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_List",
+ "description": "Lists all of the virtual machines in the specified resource group. Use the nextLink property in the response to get the next page of virtual machines.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachines": {
+ "get": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_ListAll",
+ "description": "Lists all of the virtual machines in the specified subscription. Use the nextLink property in the response to get the next page of virtual machines.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "statusOnly",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "statusOnly=true enables fetching run time status of all Virtual Machines in the subscription."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}": {
+ "put": {
+ "tags": [
+ "RestorePointCollections"
+ ],
+ "operationId": "RestorePointCollections_CreateOrUpdate",
+ "description": "The operation to create or update the restore point collection. Please refer to https://aka.ms/RestorePoints for more details. When updating a restore point collection, only tags may be modified.",
+ "x-ms-examples": {
+ "Create or update a restore point collection.": {
+ "$ref": "./examples/CreateOrUpdateARestorePointCollection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "restorePointCollectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the restore point collection."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RestorePointCollection"
+ },
+ "description": "Parameters supplied to the Create or Update restore point collection operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RestorePointCollection"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/RestorePointCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "RestorePointCollections"
+ ],
+ "operationId": "RestorePointCollections_Update",
+ "description": "The operation to update the restore point collection.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "restorePointCollectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the restore point collection."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RestorePointCollectionUpdate"
+ },
+ "description": "Parameters supplied to the Update restore point collection operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RestorePointCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "RestorePointCollections"
+ ],
+ "operationId": "RestorePointCollections_Delete",
+ "description": "The operation to delete the restore point collection. This operation will also delete all the contained restore points.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "restorePointCollectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Restore Point Collection."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "RestorePointCollections"
+ ],
+ "operationId": "RestorePointCollections_Get",
+ "description": "The operation to get the restore point collection.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "restorePointCollectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the restore point collection."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation. If expand=restorePoints, server will return all contained restore points in the restorePointCollection.",
+ "enum": [
+ "restorePoints"
+ ],
+ "x-ms-enum": {
+ "name": "RestorePointCollectionExpandOptions",
+ "modelAsString": true
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-examples": {
+ "Get a restore point collection (but not the restore points contained in the restore point collection)": {
+ "$ref": "./examples/GetRestorePointCollection.json"
+ },
+ "Get a restore point collection, including the restore points contained in the restore point collection": {
+ "$ref": "./examples/GetRestorePointCollectionWithContainedRestorePoints.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RestorePointCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections": {
+ "get": {
+ "tags": [
+ "RestorePointCollections"
+ ],
+ "operationId": "RestorePointCollections_List",
+ "description": "Gets the list of restore point collections in a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-examples": {
+ "Gets the list of restore point collections in a resource group.": {
+ "$ref": "./examples/GetRestorePointCollectionsInAResourceGroup.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RestorePointCollectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/restorePointCollections": {
+ "get": {
+ "tags": [
+ "RestorePointCollections"
+ ],
+ "operationId": "RestorePointCollections_ListAll",
+ "description": "Gets the list of restore point collections in the subscription. Use nextLink property in the response to get the next page of restore point collections. Do this till nextLink is not null to fetch all the restore point collections.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RestorePointCollectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the list of restore point collections in a subscription": {
+ "$ref": "./examples/GetRestorePointCollectionsInASubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{restorePointName}": {
+ "put": {
+ "operationId": "RestorePoints_Create",
+ "description": "The operation to create the restore point. Updating properties of an existing restore point is not allowed",
+ "x-ms-examples": {
+ "Create a restore point": {
+ "$ref": "./examples/CreateARestorePoint.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "restorePointCollectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the restore point collection."
+ },
+ {
+ "name": "restorePointName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the restore point."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RestorePoint"
+ },
+ "description": "Parameters supplied to the Create restore point operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/RestorePoint"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "operationId": "RestorePoints_Delete",
+ "description": "The operation to delete the restore point.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "restorePointCollectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Restore Point Collection."
+ },
+ {
+ "name": "restorePointName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the restore point."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "operationId": "RestorePoints_Get",
+ "description": "The operation to get the restore point.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "restorePointCollectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the restore point collection."
+ },
+ {
+ "name": "restorePointName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the restore point."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-examples": {
+ "Get a restore point": {
+ "$ref": "./examples/GetRestorePoint.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RestorePoint"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/vmSizes": {
+ "get": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_ListAvailableSizes",
+ "description": "Lists all available virtual machine sizes to which the specified virtual machine can be resized.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineSizeListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "Lists all available virtual machine sizes to which the specified virtual machine can be resized": {
+ "$ref": "./examples/ListAvailableVmSizes_VirtualMachines.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/powerOff": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_PowerOff",
+ "description": "The operation to power off (stop) a virtual machine. The virtual machine can be restarted with the same provisioned resources. You are still charged for this virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "skipShutdown",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "default": false,
+ "description": "The parameter to request non-graceful VM shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates otherwise. Default value for this flag is false if not specified"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/reapply": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Reapply",
+ "description": "The operation to reapply a virtual machine's state.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reapply the state of a virtual machine.": {
+ "$ref": "./examples/ReapplyVirtualMachine.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/restart": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Restart",
+ "description": "The operation to restart a virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/start": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Start",
+ "description": "The operation to start a virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/redeploy": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Redeploy",
+ "description": "Shuts down the virtual machine, moves it to a new node, and powers it back on.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/reimage": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Reimage",
+ "description": "Reimages the virtual machine which has an ephemeral OS disk back to its initial state.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineReimageParameters"
+ },
+ "description": "Parameters supplied to the Reimage Virtual Machine operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reimage a Virtual Machine.": {
+ "$ref": "./examples/ReimageVirtualMachine.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/retrieveBootDiagnosticsData": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_RetrieveBootDiagnosticsData",
+ "description": "The operation to retrieve SAS URIs for a virtual machine's boot diagnostic logs.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "sasUriExpirationTimeInMinutes",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Expiration duration in minutes for the SAS URIs with a value between 1 to 1440 minutes.
NOTE: If not specified, SAS URIs will be generated with a default expiration duration of 120 minutes."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RetrieveBootDiagnosticsDataResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "x-ms-examples": {
+ "RetrieveBootDiagnosticsData of a virtual machine.": {
+ "$ref": "./examples/RetrieveBootDiagnosticsDataVirtualMachine.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/performMaintenance": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_PerformMaintenance",
+ "description": "The operation to perform maintenance on a virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/simulateEviction": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_SimulateEviction",
+ "description": "The operation to simulate the eviction of spot virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "x-ms-examples": {
+ "Simulate Eviction a virtual machine.": {
+ "$ref": "./examples/SimulateEvictionOfVM.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/assessPatches": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_AssessPatches",
+ "x-ms-examples": {
+ "Assess patch state of a virtual machine.": {
+ "$ref": "./examples/VirtualMachineAssessPatches.json"
+ }
+ },
+ "description": "Assess patches on the VM.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineAssessPatchesResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/installPatches": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_InstallPatches",
+ "description": "Installs patches on the VM.",
+ "x-ms-examples": {
+ "Install patch state of a virtual machine.": {
+ "$ref": "./examples/VirtualMachineInstallPatches.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "installPatchesInput",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineInstallPatchesParameters"
+ },
+ "description": "Input for InstallPatches as directly received by the API"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineInstallPatchesResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}": {
+ "put": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_CreateOrUpdate",
+ "description": "Create or update a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set to create or update."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSet"
+ },
+ "description": "The scale set object."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSet"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSet"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create a scale set with password authentication.": {
+ "$ref": "./examples/CreateAScaleSetWithPasswordAuthentication.json"
+ },
+ "Create a scale set with ssh authentication.": {
+ "$ref": "./examples/CreateAScaleSetWithSshAuthentication.json"
+ },
+ "Create a scale set with premium storage.": {
+ "$ref": "./examples/CreateAScaleSetWithPremiumStorage.json"
+ },
+ "Create a scale set with empty data disks on each vm.": {
+ "$ref": "./examples/CreateAScaleSetWithEmptyDataDisksOnEachVm.json"
+ },
+ "Create a scale set with an azure load balancer.": {
+ "$ref": "./examples/CreateAScaleSetWithAnAzureLoadBalancer.json"
+ },
+ "Create a scale set with an azure application gateway.": {
+ "$ref": "./examples/CreateAScaleSetWithAnAzureApplicationGateway.json"
+ },
+ "Create a scale set with boot diagnostics.": {
+ "$ref": "./examples/CreateAScaleSetWithBootDiagnostics.json"
+ },
+ "Create a scale set with managed boot diagnostics.": {
+ "$ref": "./examples/CreateAScaleSetWithManagedBootDiagnostics.json"
+ },
+ "Create a scale set with a marketplace image plan.": {
+ "$ref": "./examples/CreateAScaleSetWithAMarketplaceImagePlan.json"
+ },
+ "Create a scale set from a custom image.": {
+ "$ref": "./examples/CreateAScaleSetFromACustomImage.json"
+ },
+ "Create a platform-image scale set with unmanaged os disks.": {
+ "$ref": "./examples/CreateAPlatformImageScaleSetWithUnmanagedOsDisks.json"
+ },
+ "Create a custom-image scale set from an unmanaged generalized os image.": {
+ "$ref": "./examples/CreateACustomImageScaleSetFromAnUnmanagedGeneralizedOsImage.json"
+ },
+ "Create a scale set with virtual machines in different zones.": {
+ "$ref": "./examples/CreateAScaleSetWithVMsInDifferentZones.json"
+ },
+ "Create a scale set with ephemeral os disks.": {
+ "$ref": "./examples/CreateAScaleSetWithDiffOsDisk.json"
+ },
+ "Create a scale set with terminate scheduled events enabled.": {
+ "$ref": "./examples/CreateAScaleSetWithTerminateScheduledEventEnabled.json"
+ },
+ "Create a scale set with automatic repairs enabled": {
+ "$ref": "./examples/CreateAScaleSetWithAutomaticRepairs.json"
+ },
+ "Create a scale set with DiskEncryptionSet resource in os disk and data disk.": {
+ "$ref": "./examples/CreateAScalesetWithDiskEncryptionSetResource.json"
+ },
+ "Create a scale set with ephemeral os disks using placement property.": {
+ "$ref": "./examples/CreateAScaleSetWithDiffOsDiskUsingDiffDiskPlacement.json"
+ },
+ "Create a scale set with extension time budget.": {
+ "$ref": "./examples/CreateAScaleSetWithExtensionsTimeBudget.json"
+ },
+ "Create a scale set with Host Encryption using encryptionAtHost property.": {
+ "$ref": "./examples/CreateAScaleSetWithEncryptionAtHost.json"
+ },
+ "Create a scale set with Fpga Network Interfaces.": {
+ "$ref": "./examples/CreateAScaleSetFromWithFpgaNetworkInterface.json"
+ },
+ "Create a scale set with Uefi Settings of secureBoot and vTPM.": {
+ "$ref": "./examples/CreateAScaleSetWithUefiSettings.json"
+ },
+ "Create a scale set from a generalized shared image.": {
+ "$ref": "./examples/CreateAScaleSetFromAGeneralizedSharedImage.json"
+ },
+ "Create a scale set from a specialized shared image.": {
+ "$ref": "./examples/CreateAScaleSetFromASpecializedSharedImage.json"
+ },
+ "Create a scale set with userData.": {
+ "$ref": "./examples/CreateOrUpdateAScaleSetWithUserData.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_Update",
+ "description": "Update a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set to create or update."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdate"
+ },
+ "description": "The scale set object."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSet"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_Delete",
+ "description": "Deletes a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "forceDeletion",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Optional parameter to force delete a VM scale set. (Feature in Preview)"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Force Delete a VM scale set.": {
+ "$ref": "./examples/ForceDeleteVirtualMachineScaleSets.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_Get",
+ "description": "Display information about a virtual machine scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation. 'UserData' retrieves the UserData property of the VM scale set that was provided by the user during the VM scale set Create/Update operation",
+ "enum": [
+ "userData"
+ ],
+ "x-ms-enum": {
+ "name": "ExpandTypesForGetVMScaleSets",
+ "modelAsString": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSet"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a virtual machine scale set placed on a dedicated host group through automatic placement.": {
+ "$ref": "./examples/GetVirtualMachineScaleSetAutoPlacedOnDedicatedHostGroup.json"
+ },
+ "Get a virtual machine scale set with UserData": {
+ "$ref": "./examples/GetVirtualMachineScaleSetWithUserData.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/deallocate": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_Deallocate",
+ "description": "Deallocates specific virtual machines in a VM scale set. Shuts down the virtual machines and releases the compute resources. You are not billed for the compute resources that this virtual machine scale set deallocates.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/delete": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_DeleteInstances",
+ "description": "Deletes virtual machines in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceRequiredIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "name": "forceDeletion",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Optional parameter to force delete virtual machines from the VM scale set. (Feature in Preview)"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/instanceView": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_GetInstanceView",
+ "description": "Gets the status of a VM scale set instance.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetInstanceView"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_List",
+ "description": "Gets a list of all VM scale sets under a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions/{vmssExtensionName}": {
+ "put": {
+ "tags": [
+ "VirtualMachineScaleSetExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetExtensions_CreateOrUpdate",
+ "description": "The operation to create or update an extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set where the extension should be create or updated."
+ },
+ {
+ "name": "vmssExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtension"
+ },
+ "description": "Parameters supplied to the Create VM scale set Extension operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtension"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtension"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "VirtualMachineScaleSetExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetExtensions_Update",
+ "description": "The operation to update an extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set where the extension should be updated."
+ },
+ {
+ "name": "vmssExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtensionUpdate"
+ },
+ "description": "Parameters supplied to the Update VM scale set Extension operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtension"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtension"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "VirtualMachineScaleSetExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetExtensions_Delete",
+ "description": "The operation to delete the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set where the extension should be deleted."
+ },
+ {
+ "name": "vmssExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set extension."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetExtensions_Get",
+ "description": "The operation to get the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set containing the extension."
+ },
+ {
+ "name": "vmssExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set extension."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtension"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetExtensions_List",
+ "description": "Gets a list of all extensions in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set containing the extension."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtensionListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachineScaleSets": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_ListAll",
+ "description": "Gets a list of all VM Scale Sets in the subscription, regardless of the associated resource group. Use nextLink property in the response to get the next page of VM Scale Sets. Do this till nextLink is null to fetch all the VM Scale Sets.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetListWithLinkResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/skus": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_ListSkus",
+ "description": "Gets a list of SKUs available for your VM scale set, including the minimum and maximum VM instances allowed for each SKU.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetListSkusResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osUpgradeHistory": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_GetOSUpgradeHistory",
+ "description": "Gets list of OS upgrades on a VM scale set instance.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetListOSUpgradeHistory"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/poweroff": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_PowerOff",
+ "description": "Power off (stop) one or more virtual machines in a VM scale set. Note that resources are still attached and you are getting charged for the resources. Instead, use deallocate to release resources and avoid charges.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "name": "skipShutdown",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "default": false,
+ "description": "The parameter to request non-graceful VM shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates otherwise. Default value for this flag is false if not specified"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/restart": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_Restart",
+ "description": "Restarts one or more virtual machines in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/start": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_Start",
+ "description": "Starts one or more virtual machines in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/redeploy": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_Redeploy",
+ "description": "Shuts down all the virtual machines in the virtual machine scale set, moves them to a new node, and powers them back on.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/performMaintenance": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_PerformMaintenance",
+ "description": "Perform maintenance on one or more virtual machines in a VM scale set. Operation on instances which are not eligible for perform maintenance will be failed. Please refer to best practices for more details: https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-maintenance-notifications",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/manualupgrade": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_UpdateInstances",
+ "description": "Upgrades one or more virtual machines to the latest SKU set in the VM scale set model.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceRequiredIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimage": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_Reimage",
+ "description": "Reimages (upgrade the operating system) one or more virtual machines in a VM scale set which don't have a ephemeral OS disk, for virtual machines who have a ephemeral OS disk the virtual machine is reset to initial state.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmScaleSetReimageInput",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetReimageParameters"
+ },
+ "description": "Parameters for Reimaging VM ScaleSet."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimageall": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_ReimageAll",
+ "description": "Reimages all the disks ( including data disks ) in the virtual machines in a VM scale set. This operation is only supported for managed disks.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/cancel": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetRollingUpgrades"
+ ],
+ "operationId": "VirtualMachineScaleSetRollingUpgrades_Cancel",
+ "description": "Cancels the current virtual machine scale set rolling upgrade.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osRollingUpgrade": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetRollingUpgrades"
+ ],
+ "operationId": "VirtualMachineScaleSetRollingUpgrades_StartOSUpgrade",
+ "description": "Starts a rolling upgrade to move all virtual machine scale set instances to the latest available Platform Image OS version. Instances which are already running the latest available OS version are not affected.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensionRollingUpgrade": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetRollingUpgrades"
+ ],
+ "operationId": "VirtualMachineScaleSetRollingUpgrades_StartExtensionUpgrade",
+ "description": "Starts a rolling upgrade to move all extensions for all virtual machine scale set instances to the latest available extension version. Instances which are already running the latest extension versions are not affected.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Start an extension rolling upgrade.": {
+ "$ref": "./examples/VMScaleSetExtensionRollingUpgrade.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/latest": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetRollingUpgrades"
+ ],
+ "operationId": "VirtualMachineScaleSetRollingUpgrades_GetLatest",
+ "description": "Gets the status of the latest virtual machine scale set rolling upgrade.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RollingUpgradeStatusInfo"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/forceRecoveryServiceFabricPlatformUpdateDomainWalk": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_ForceRecoveryServiceFabricPlatformUpdateDomainWalk",
+ "description": "Manual platform update domain walk to update virtual machines in a service fabric virtual machine scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "platformUpdateDomain",
+ "in": "query",
+ "required": true,
+ "type": "integer",
+ "description": "The platform update domain for which a manual recovery walk is requested"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryWalkResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/convertToSinglePlacementGroup": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_ConvertToSinglePlacementGroup",
+ "description": "Converts SinglePlacementGroup property to false for a existing virtual machine scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine scale set to create or update."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VMScaleSetConvertToSinglePlacementGroupInput"
+ },
+ "description": "The input object for ConvertToSinglePlacementGroup API."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/setOrchestrationServiceState": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_SetOrchestrationServiceState",
+ "description": "Changes ServiceState property for a given service",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine scale set to create or update."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/OrchestrationServiceStateInput"
+ },
+ "description": "The input object for SetOrchestrationServiceState API."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/extensions/{vmExtensionName}": {
+ "put": {
+ "tags": [
+ "VirtualMachineScaleSetVMExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetVMExtensions_CreateOrUpdate",
+ "description": "The operation to create or update the VMSS VM extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "vmExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMExtension"
+ },
+ "description": "Parameters supplied to the Create Virtual Machine Extension operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMExtension"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMExtension"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create VirtualMachineScaleSet VM extension.": {
+ "$ref": "./examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VirtualMachineScaleSetVMExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetVMExtensions_Update",
+ "description": "The operation to update the VMSS VM extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "vmExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMExtensionUpdate"
+ },
+ "description": "Parameters supplied to the Update Virtual Machine Extension operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMExtension"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update VirtualMachineScaleSet VM extension.": {
+ "$ref": "./examples/UpdateVirtualMachineScaleSetVMExtensions.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "VirtualMachineScaleSetVMExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetVMExtensions_Delete",
+ "description": "The operation to delete the VMSS VM extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "vmExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine extension."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete VirtualMachineScaleSet VM extension.": {
+ "$ref": "./examples/DeleteVirtualMachineScaleSetVMExtensions.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetVMExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetVMExtensions_Get",
+ "description": "The operation to get the VMSS VM extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "vmExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine extension."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMExtension"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get VirtualMachineScaleSet VM extension.": {
+ "$ref": "./examples/GetVirtualMachineScaleSetVMExtensions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/extensions": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetVMExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetVMExtensions_List",
+ "description": "The operation to get all extensions of an instance in Virtual Machine Scaleset.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMExtensionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List extensions in Vmss instance.": {
+ "$ref": "./examples/ListVirtualMachineScaleSetVMExtensions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimage": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_Reimage",
+ "description": "Reimages (upgrade the operating system) a specific virtual machine in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "vmScaleSetVMReimageInput",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMReimageParameters"
+ },
+ "description": "Parameters for the Reimaging Virtual machine in ScaleSet."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimageall": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_ReimageAll",
+ "description": "Allows you to re-image all the disks ( including data disks ) in the a VM scale set instance. This operation is only supported for managed disks.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/deallocate": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_Deallocate",
+ "description": "Deallocates a specific virtual machine in a VM scale set. Shuts down the virtual machine and releases the compute resources it uses. You are not billed for the compute resources of this virtual machine once it is deallocated.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}": {
+ "put": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_Update",
+ "description": "Updates a virtual machine of a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set where the extension should be create or updated."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVM"
+ },
+ "description": "Parameters supplied to the Update Virtual Machine Scale Sets VM operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVM"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVM"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_Delete",
+ "description": "Deletes a virtual machine from a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "forceDeletion",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Optional parameter to force delete a virtual machine from a VM scale set. (Feature in Preview)"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Force Delete a virtual machine from a VM scale set.": {
+ "$ref": "./examples/ForceDeleteVirtualMachineScaleSetVM.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_Get",
+ "description": "Gets a virtual machine from a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation. 'InstanceView' will retrieve the instance view of the virtual machine. 'UserData' will retrieve the UserData of the virtual machine.",
+ "enum": [
+ "instanceView",
+ "userData"
+ ],
+ "x-ms-enum": {
+ "name": "InstanceViewTypes",
+ "modelAsString": false
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVM"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get VM scale set VM with UserData": {
+ "$ref": "./examples/GetVirtualMachineScaleSetVMWithUserData.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/instanceView": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_GetInstanceView",
+ "description": "Gets the status of a virtual machine from a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceView"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get instance view of a virtual machine from a VM scale set placed on a dedicated host group through automatic placement.": {
+ "$ref": "./examples/GetVirtualMachineScaleSetVMInstanceViewAutoPlacedOnDedicatedHostGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_List",
+ "description": "Gets a list of all virtual machines in a VM scale sets.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualMachineScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply to the operation. Allowed values are 'startswith(instanceView/statuses/code, 'PowerState') eq true', 'properties/latestModelApplied eq true', 'properties/latestModelApplied eq false'."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The list parameters. Allowed values are 'instanceView', 'instanceView/statuses'."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/VirtualMachineScaleSetVM"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/poweroff": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_PowerOff",
+ "description": "Power off (stop) a virtual machine in a VM scale set. Note that resources are still attached and you are getting charged for the resources. Instead, use deallocate to release resources and avoid charges.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "skipShutdown",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "default": false,
+ "description": "The parameter to request non-graceful VM shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates otherwise. Default value for this flag is false if not specified"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/restart": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_Restart",
+ "description": "Restarts a virtual machine in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/start": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_Start",
+ "description": "Starts a virtual machine in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/redeploy": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_Redeploy",
+ "description": "Shuts down the virtual machine in the virtual machine scale set, moves it to a new node, and powers it back on.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/retrieveBootDiagnosticsData": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_RetrieveBootDiagnosticsData",
+ "description": "The operation to retrieve SAS URIs of boot diagnostic logs for a virtual machine in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "sasUriExpirationTimeInMinutes",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Expiration duration in minutes for the SAS URIs with a value between 1 to 1440 minutes.
NOTE: If not specified, SAS URIs will be generated with a default expiration duration of 120 minutes."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RetrieveBootDiagnosticsDataResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "x-ms-examples": {
+ "RetrieveBootDiagnosticsData of a virtual machine.": {
+ "$ref": "./examples/RetrieveBootDiagnosticsDataVMScaleSetVM.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/performMaintenance": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_PerformMaintenance",
+ "description": "Performs maintenance on a virtual machine in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/simulateEviction": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_SimulateEviction",
+ "description": "The operation to simulate the eviction of spot virtual machine in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "x-ms-examples": {
+ "Simulate Eviction a virtual machine.": {
+ "$ref": "./examples/SimulateEvictionOfVmssVM.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getRequestRateByInterval": {
+ "post": {
+ "tags": [
+ "LogAnalytics"
+ ],
+ "operationId": "LogAnalytics_ExportRequestRateByInterval",
+ "x-ms-examples": {
+ "Export logs which contain all Api requests made to Compute Resource Provider within the given time period broken down by intervals.": {
+ "$ref": "./examples/LogAnalyticsRequestRateByInterval.json"
+ }
+ },
+ "description": "Export logs that show Api requests made by this subscription in the given time window to show throttling activities.",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RequestRateByIntervalInput"
+ },
+ "description": "Parameters supplied to the LogAnalytics getRequestRateByInterval Api."
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location upon which virtual-machine-sizes is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LogAnalyticsOperationResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getThrottledRequests": {
+ "post": {
+ "tags": [
+ "LogAnalytics"
+ ],
+ "operationId": "LogAnalytics_ExportThrottledRequests",
+ "x-ms-examples": {
+ "Export logs which contain all throttled Api requests made to Compute Resource Provider within the given time period.": {
+ "$ref": "./examples/LogAnalyticsThrottledRequests.json"
+ }
+ },
+ "description": "Export logs that show total throttled Api requests for this subscription in the given time window.",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThrottledRequestsInput"
+ },
+ "description": "Parameters supplied to the LogAnalytics getThrottledRequests Api."
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location upon which virtual-machine-sizes is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LogAnalyticsOperationResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "RestorePointCollectionSourceProperties": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Location of the source resource used to create this restore point collection."
+ },
+ "id": {
+ "type": "string",
+ "description": "Resource Id of the source resource used to create this restore point collection"
+ }
+ },
+ "description": "The properties of the source resource that this restore point collection is created from."
+ },
+ "RestorePointCollectionProperties": {
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/RestorePointCollectionSourceProperties"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning state of the restore point collection."
+ },
+ "restorePointCollectionId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The unique id of the restore point collection."
+ },
+ "restorePoints": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/RestorePoint"
+ },
+ "description": "A list containing all restore points created under this restore point collection."
+ }
+ },
+ "description": "The restore point collection properties."
+ },
+ "RestorePointCollection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RestorePointCollectionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Create or update Restore Point collection parameters."
+ },
+ "RestorePointCollectionUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RestorePointCollectionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Update Restore Point collection parameters."
+ },
+ "RestorePointCollectionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RestorePointCollection"
+ },
+ "description": "Gets the list of restore point collections."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of RestorePointCollections. Call ListNext() with this to fetch the next page of RestorePointCollections"
+ }
+ },
+ "description": "The List restore point collection operation response."
+ },
+ "RestorePointSourceMetadata": {
+ "properties": {
+ "hardwareProfile": {
+ "$ref": "#/definitions/HardwareProfile",
+ "description": "Gets the hardware profile."
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/RestorePointSourceVMStorageProfile",
+ "description": "Gets the storage profile."
+ },
+ "osProfile": {
+ "$ref": "#/definitions/OSProfile",
+ "description": "Gets the OS profile."
+ },
+ "diagnosticsProfile": {
+ "$ref": "#/definitions/DiagnosticsProfile",
+ "description": "Gets the diagnostics profile."
+ },
+ "licenseType": {
+ "type": "string",
+ "description": "Gets the license type, which is for bring your own license scenario."
+ },
+ "vmId": {
+ "type": "string",
+ "description": "Gets the virtual machine unique id."
+ },
+ "securityProfile": {
+ "$ref": "#/definitions/SecurityProfile",
+ "description": "Gets the security profile."
+ }
+ },
+ "description": "Describes the properties of the Virtual Machine for which the restore point was created. The properties provided are a subset and the snapshot of the overall Virtual Machine properties captured at the time of the restore point creation."
+ },
+ "RestorePointSourceVMStorageProfile": {
+ "properties": {
+ "osDisk": {
+ "$ref": "#/definitions/RestorePointSourceVMOSDisk",
+ "description": "Gets the OS disk of the VM captured at the time of the restore point creation."
+ },
+ "dataDisks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RestorePointSourceVMDataDisk"
+ },
+ "description": "Gets the data disks of the VM captured at the time of the restore point creation."
+ }
+ },
+ "description": "Describes the storage profile."
+ },
+ "RestorePointSourceVMOSDisk": {
+ "properties": {
+ "osType": {
+ "type": "string",
+ "description": "Gets the Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemType",
+ "modelAsString": true
+ }
+ },
+ "encryptionSettings": {
+ "$ref": "#/definitions/DiskEncryptionSettings",
+ "description": "Gets the disk encryption settings."
+ },
+ "name": {
+ "type": "string",
+ "description": "Gets the disk name."
+ },
+ "caching": {
+ "$ref": "#/definitions/Caching",
+ "description": "Gets the caching type."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Gets the disk size in GB."
+ },
+ "managedDisk": {
+ "$ref": "#/definitions/ManagedDiskParameters",
+ "description": "Gets the managed disk details"
+ },
+ "diskRestorePoint": {
+ "$ref": "#/definitions/ApiEntityReference",
+ "description": "Gets the disk restore point Id."
+ }
+ },
+ "description": "Describes an Operating System disk."
+ },
+ "RestorePointSourceVMDataDisk": {
+ "properties": {
+ "lun": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Gets the logical unit number."
+ },
+ "name": {
+ "type": "string",
+ "description": "Gets the disk name."
+ },
+ "caching": {
+ "$ref": "#/definitions/Caching",
+ "description": "Gets the caching type."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Gets the initial disk size in GB for blank data disks, and the new desired size for existing OS and Data disks."
+ },
+ "managedDisk": {
+ "$ref": "#/definitions/ManagedDiskParameters",
+ "description": "Gets the managed disk details"
+ },
+ "diskRestorePoint": {
+ "$ref": "#/definitions/ApiEntityReference",
+ "description": "Gets the disk restore point Id."
+ }
+ },
+ "description": "Describes a data disk."
+ },
+ "RestorePointProvisioningDetails": {
+ "properties": {
+ "creationTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Gets the creation time of the restore point."
+ },
+ "totalUsedSizeInBytes": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Gets the total size of the data in all the disks which are part of the restore point."
+ },
+ "statusCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Gets the status of the Create restore point operation."
+ },
+ "statusMessage": {
+ "type": "string",
+ "description": "Gets the status message of the Create restore point operation."
+ }
+ },
+ "description": "Restore Point Provisioning details."
+ },
+ "RestorePoint": {
+ "properties": {
+ "sourceMetadata": {
+ "readOnly": true,
+ "$ref": "#/definitions/RestorePointSourceMetadata",
+ "description": "Gets the details of the VM captured at the time of the restore point creation."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the provisioning state of the restore point."
+ },
+ "consistencyMode": {
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "CrashConsistent",
+ "FileSystemConsistent",
+ "ApplicationConsistent"
+ ],
+ "x-ms-enum": {
+ "name": "ConsistencyModeTypes",
+ "modelAsString": true
+ },
+ "description": "Gets the consistency mode for the restore point. Please refer to https://aka.ms/RestorePoints for more details."
+ },
+ "provisioningDetails": {
+ "$ref": "#/definitions/RestorePointProvisioningDetails",
+ "readOnly": true,
+ "description": "Gets the provisioning details set by the server during Create restore point operation."
+ },
+ "excludeDisks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiEntityReference"
+ },
+ "description": "List of disk resource ids that the customer wishes to exclude from the restore point. If no disks are specified, all disks will be included."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Restore Point details."
+ },
+ "ComputeOperationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ComputeOperationValue"
+ },
+ "description": "The list of compute operations"
+ }
+ },
+ "description": "The List Compute Operation operation response."
+ },
+ "ComputeOperationValue": {
+ "properties": {
+ "origin": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The origin of the compute operation."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the compute operation."
+ },
+ "display": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ComputeOperationValueDisplay"
+ }
+ },
+ "description": "Describes the properties of a Compute Operation value."
+ },
+ "ComputeOperationValueDisplay": {
+ "properties": {
+ "operation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the compute operation."
+ },
+ "resource": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the resource the operation applies to."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The description of the operation."
+ },
+ "provider": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource provider for the operation."
+ }
+ },
+ "description": "Describes the properties of a Compute Operation Value Display."
+ },
+ "DisallowedConfiguration": {
+ "properties": {
+ "vmDiskType": {
+ "type": "string",
+ "description": "VM disk types which are disallowed.",
+ "enum": [
+ "None",
+ "Unmanaged"
+ ],
+ "x-ms-enum": {
+ "name": "VmDiskTypes",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Specifies the disallowed configuration for a virtual machine image."
+ },
+ "RetrieveBootDiagnosticsDataResult": {
+ "properties": {
+ "consoleScreenshotBlobUri": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The console screenshot blob URI"
+ },
+ "serialConsoleLogBlobUri": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The serial console log blob URI."
+ }
+ },
+ "description": "The SAS URIs of the console screenshot and serial log blobs."
+ },
+ "HyperVGenerationType": {
+ "type": "string",
+ "description": "Specifies the HyperVGeneration Type",
+ "enum": [
+ "V1",
+ "V2"
+ ],
+ "x-ms-enum": {
+ "name": "HyperVGenerationTypes",
+ "modelAsString": true
+ }
+ },
+ "InstanceViewStatus": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The status code."
+ },
+ "level": {
+ "type": "string",
+ "description": "The level code.",
+ "enum": [
+ "Info",
+ "Warning",
+ "Error"
+ ],
+ "x-ms-enum": {
+ "name": "StatusLevelTypes",
+ "modelAsString": false
+ }
+ },
+ "displayStatus": {
+ "type": "string",
+ "description": "The short localizable label for the status."
+ },
+ "message": {
+ "type": "string",
+ "description": "The detailed status message, including for alerts and error messages."
+ },
+ "time": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time of the status."
+ }
+ },
+ "description": "Instance view status."
+ },
+ "AvailabilitySetProperties": {
+ "properties": {
+ "platformUpdateDomainCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Update Domain count."
+ },
+ "platformFaultDomainCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Fault Domain count."
+ },
+ "virtualMachines": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "A list of references to all virtual machines in the availability set."
+ },
+ "proximityPlacementGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the proximity placement group that the availability set should be assigned to.
Minimum api-version: 2018-04-01."
+ },
+ "statuses": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ }
+ },
+ "description": "The instance view of a resource."
+ },
+ "AvailabilitySetSkuType": {
+ "type": "string",
+ "description": "Specifies the sku of an Availability Set. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'.",
+ "enum": [
+ "Classic",
+ "Aligned"
+ ],
+ "x-ms-enum": {
+ "name": "AvailabilitySetSkuTypes",
+ "modelAsString": true
+ }
+ },
+ "AvailabilitySet": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AvailabilitySetProperties"
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview).
For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates)
Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set."
+ },
+ "AvailabilitySetUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AvailabilitySetProperties"
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "Sku of the availability set"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Specifies information about the availability set that the virtual machine should be assigned to. Only tags may be updated."
+ },
+ "AvailabilitySetListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AvailabilitySet"
+ },
+ "description": "The list of availability sets"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of AvailabilitySets. Call ListNext() with this URI to fetch the next page of AvailabilitySets."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Availability Set operation response."
+ },
+ "SubResourceWithColocationStatus": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "properties": {
+ "colocationStatus": {
+ "$ref": "#/definitions/InstanceViewStatus",
+ "description": "Describes colocation status of a resource in the Proximity Placement Group."
+ }
+ }
+ },
+ "ProximityPlacementGroupProperties": {
+ "properties": {
+ "proximityPlacementGroupType": {
+ "type": "string",
+ "description": "Specifies the type of the proximity placement group.
Possible values are:
**Standard** : Co-locate resources within an Azure region or Availability Zone.
**Ultra** : For future use.",
+ "enum": [
+ "Standard",
+ "Ultra"
+ ],
+ "x-ms-enum": {
+ "name": "ProximityPlacementGroupType",
+ "modelAsString": true
+ }
+ },
+ "virtualMachines": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResourceWithColocationStatus"
+ },
+ "description": "A list of references to all virtual machines in the proximity placement group."
+ },
+ "virtualMachineScaleSets": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResourceWithColocationStatus"
+ },
+ "description": "A list of references to all virtual machine scale sets in the proximity placement group."
+ },
+ "availabilitySets": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResourceWithColocationStatus"
+ },
+ "description": "A list of references to all availability sets in the proximity placement group."
+ },
+ "colocationStatus": {
+ "$ref": "#/definitions/InstanceViewStatus",
+ "description": "Describes colocation status of the Proximity Placement Group."
+ }
+ },
+ "description": "Describes the properties of a Proximity Placement Group."
+ },
+ "ProximityPlacementGroup": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ProximityPlacementGroupProperties",
+ "description": "Describes the properties of a Proximity Placement Group."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Specifies information about the proximity placement group."
+ },
+ "ProximityPlacementGroupUpdate": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Specifies information about the proximity placement group."
+ },
+ "ProximityPlacementGroupListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProximityPlacementGroup"
+ },
+ "description": "The list of proximity placement groups"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of proximity placement groups."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Proximity Placement Group operation response."
+ },
+ "DedicatedHostGroupInstanceView": {
+ "properties": {
+ "hosts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DedicatedHostInstanceViewWithName"
+ },
+ "description": "List of instance view of the dedicated hosts under the dedicated host group."
+ }
+ }
+ },
+ "DedicatedHostGroupProperties": {
+ "properties": {
+ "platformFaultDomainCount": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "description": "Number of fault domains that the host group can span."
+ },
+ "hosts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResourceReadOnly"
+ },
+ "readOnly": true,
+ "description": "A list of references to all dedicated hosts in the dedicated host group."
+ },
+ "instanceView": {
+ "$ref": "#/definitions/DedicatedHostGroupInstanceView",
+ "readOnly": true,
+ "description": "The dedicated host group instance view, which has the list of instance view of the dedicated hosts under the dedicated host group."
+ },
+ "supportAutomaticPlacement": {
+ "type": "boolean",
+ "description": "Specifies whether virtual machines or virtual machine scale sets can be placed automatically on the dedicated host group. Automatic placement means resources are allocated on dedicated hosts, that are chosen by Azure, under the dedicated host group. The value is defaulted to 'false' when not provided.
Minimum api-version: 2020-06-01."
+ }
+ },
+ "required": [
+ "platformFaultDomainCount"
+ ],
+ "description": "Dedicated Host Group Properties."
+ },
+ "DedicatedHostGroup": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DedicatedHostGroupProperties"
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Specifies information about the dedicated host group that the dedicated hosts should be assigned to.
Currently, a dedicated host can only be added to a dedicated host group at creation time. An existing dedicated host cannot be added to another dedicated host group."
+ },
+ "DedicatedHostGroupUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DedicatedHostGroupProperties"
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Specifies information about the dedicated host group that the dedicated host should be assigned to. Only tags may be updated."
+ },
+ "DedicatedHostGroupListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DedicatedHostGroup"
+ },
+ "description": "The list of dedicated host groups"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of Dedicated Host Groups. Call ListNext() with this URI to fetch the next page of Dedicated Host Groups."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Dedicated Host Group with resource group response."
+ },
+ "DedicatedHostLicenseType": {
+ "type": "string",
+ "description": "Specifies the software license type that will be applied to the VMs deployed on the dedicated host.
Possible values are:
**None**
**Windows_Server_Hybrid**
**Windows_Server_Perpetual**
Default: **None**",
+ "enum": [
+ "None",
+ "Windows_Server_Hybrid",
+ "Windows_Server_Perpetual"
+ ],
+ "x-ms-enum": {
+ "name": "DedicatedHostLicenseTypes",
+ "modelAsString": false
+ }
+ },
+ "DedicatedHostAllocatableVM": {
+ "properties": {
+ "vmSize": {
+ "type": "string",
+ "description": "VM size in terms of which the unutilized capacity is represented."
+ },
+ "count": {
+ "type": "number",
+ "format": "double",
+ "description": "Maximum number of VMs of size vmSize that can fit in the dedicated host's remaining capacity."
+ }
+ },
+ "description": "Represents the dedicated host unutilized capacity in terms of a specific VM size."
+ },
+ "DedicatedHostAvailableCapacity": {
+ "properties": {
+ "allocatableVMs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DedicatedHostAllocatableVM"
+ },
+ "description": "The unutilized capacity of the dedicated host represented in terms of each VM size that is allowed to be deployed to the dedicated host."
+ }
+ },
+ "description": "Dedicated host unutilized capacity."
+ },
+ "DedicatedHostInstanceView": {
+ "properties": {
+ "assetId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the unique id of the dedicated physical machine on which the dedicated host resides."
+ },
+ "availableCapacity": {
+ "$ref": "#/definitions/DedicatedHostAvailableCapacity",
+ "description": "Unutilized capacity of the dedicated host."
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ }
+ },
+ "description": "The instance view of a dedicated host."
+ },
+ "DedicatedHostInstanceViewWithName": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the dedicated host."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DedicatedHostInstanceView"
+ }
+ ],
+ "description": "The instance view of a dedicated host that includes the name of the dedicated host. It is used for the response to the instance view of a dedicated host group."
+ },
+ "DedicatedHostProperties": {
+ "properties": {
+ "platformFaultDomain": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "description": "Fault domain of the dedicated host within a dedicated host group."
+ },
+ "autoReplaceOnFailure": {
+ "type": "boolean",
+ "description": "Specifies whether the dedicated host should be replaced automatically in case of a failure. The value is defaulted to 'true' when not provided."
+ },
+ "hostId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique id generated and assigned to the dedicated host by the platform.
Does not change throughout the lifetime of the host."
+ },
+ "virtualMachines": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResourceReadOnly"
+ },
+ "readOnly": true,
+ "description": "A list of references to all virtual machines in the Dedicated Host."
+ },
+ "licenseType": {
+ "$ref": "#/definitions/DedicatedHostLicenseType",
+ "description": "Specifies the software license type that will be applied to the VMs deployed on the dedicated host.
Possible values are:
**None**
**Windows_Server_Hybrid**
**Windows_Server_Perpetual**
Default: **None**"
+ },
+ "provisioningTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The date when the host was first provisioned."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "instanceView": {
+ "$ref": "#/definitions/DedicatedHostInstanceView",
+ "readOnly": true,
+ "description": "The dedicated host instance view."
+ }
+ },
+ "description": "Properties of the dedicated host."
+ },
+ "DedicatedHost": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DedicatedHostProperties"
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "SKU of the dedicated host for Hardware Generation and VM family. Only name is required to be set. List Microsoft.Compute SKUs for a list of possible values."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "sku"
+ ],
+ "description": "Specifies information about the Dedicated host."
+ },
+ "DedicatedHostUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DedicatedHostProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Specifies information about the dedicated host. Only tags, autoReplaceOnFailure and licenseType may be updated."
+ },
+ "DedicatedHostListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DedicatedHost"
+ },
+ "description": "The list of dedicated hosts"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of dedicated hosts. Call ListNext() with this URI to fetch the next page of dedicated hosts."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The list dedicated host operation response."
+ },
+ "SshPublicKeyGenerateKeyPairResult": {
+ "properties": {
+ "privateKey": {
+ "type": "string",
+ "description": "Private key portion of the key pair used to authenticate to a virtual machine through ssh. The private key is returned in RFC3447 format and should be treated as a secret."
+ },
+ "publicKey": {
+ "type": "string",
+ "description": "Public key portion of the key pair used to authenticate to a virtual machine through ssh. The public key is in ssh-rsa format."
+ },
+ "id": {
+ "type": "string",
+ "description": "The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/sshPublicKeys/{SshPublicKeyName}"
+ }
+ },
+ "required": [
+ "privateKey",
+ "publicKey",
+ "id"
+ ],
+ "description": "Response from generation of an SSH key pair."
+ },
+ "SshPublicKeyResourceProperties": {
+ "properties": {
+ "publicKey": {
+ "type": "string",
+ "description": "SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format."
+ }
+ },
+ "description": "Properties of the SSH public key."
+ },
+ "SshPublicKeyResource": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SshPublicKeyResourceProperties",
+ "description": "Properties of the SSH public key."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Specifies information about the SSH public key."
+ },
+ "SshPublicKeyUpdateResource": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SshPublicKeyResourceProperties",
+ "description": "Properties of the SSH public key."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Specifies information about the SSH public key."
+ },
+ "SshPublicKeysGroupListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SshPublicKeyResource"
+ },
+ "description": "The list of SSH public keys"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of SSH public keys. Call ListNext() with this URI to fetch the next page of SSH public keys."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The list SSH public keys operation response."
+ },
+ "VirtualMachineSize": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the virtual machine size."
+ },
+ "numberOfCores": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of cores supported by the virtual machine size. For Constrained vCPU capable VM sizes, this number represents the total vCPUs of quota that the VM uses. For accurate vCPU count, please refer to https://docs.microsoft.com/azure/virtual-machines/constrained-vcpu or https://docs.microsoft.com/rest/api/compute/resourceskus/list"
+ },
+ "osDiskSizeInMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The OS disk size, in MB, allowed by the virtual machine size."
+ },
+ "resourceDiskSizeInMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The resource disk size, in MB, allowed by the virtual machine size."
+ },
+ "memoryInMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The amount of memory, in MB, supported by the virtual machine size."
+ },
+ "maxDataDiskCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of data disks that can be attached to the virtual machine size."
+ }
+ },
+ "description": "Describes the properties of a VM size."
+ },
+ "VirtualMachineSizeListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineSize"
+ },
+ "description": "The list of virtual machine sizes."
+ }
+ },
+ "description": "The List Virtual Machine operation response."
+ },
+ "VirtualMachineExtensionImageProperties": {
+ "properties": {
+ "operatingSystem": {
+ "type": "string",
+ "description": "The operating system this extension supports."
+ },
+ "computeRole": {
+ "type": "string",
+ "description": "The type of role (IaaS or PaaS) this extension supports."
+ },
+ "handlerSchema": {
+ "type": "string",
+ "description": "The schema defined by publisher, where extension consumers should provide settings in a matching schema."
+ },
+ "vmScaleSetEnabled": {
+ "type": "boolean",
+ "description": "Whether the extension can be used on xRP VMScaleSets. By default existing extensions are usable on scalesets, but there might be cases where a publisher wants to explicitly indicate the extension is only enabled for CRP VMs but not VMSS."
+ },
+ "supportsMultipleExtensions": {
+ "type": "boolean",
+ "description": "Whether the handler can support multiple extensions."
+ }
+ },
+ "required": [
+ "operatingSystem",
+ "computeRole",
+ "handlerSchema"
+ ],
+ "description": "Describes the properties of a Virtual Machine Extension Image."
+ },
+ "VirtualMachineExtensionImage": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineExtensionImageProperties"
+ }
+ },
+ "required": [
+ "name",
+ "location"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Describes a Virtual Machine Extension Image."
+ },
+ "VirtualMachineImageResource": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the resource."
+ },
+ "location": {
+ "type": "string",
+ "description": "The supported Azure location of the resource."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Specifies the tags that are assigned to the virtual machine. For more information about using tags, see [Using tags to organize your Azure resources](https://docs.microsoft.com/azure/azure-resource-manager/resource-group-using-tags.md)."
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The extended location of the Virtual Machine."
+ }
+ },
+ "required": [
+ "name",
+ "location"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Virtual machine image resource information."
+ },
+ "VirtualMachineExtensionInstanceView": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The virtual machine extension name."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "substatuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ }
+ },
+ "description": "The instance view of a virtual machine extension."
+ },
+ "VirtualMachineExtensionProperties": {
+ "properties": {
+ "forceUpdateTag": {
+ "type": "string",
+ "description": "How the extension handler should be forced to update even if the extension configuration has not changed."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The name of the extension handler publisher."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "autoUpgradeMinorVersion": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true."
+ },
+ "enableAutomaticUpgrade": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available."
+ },
+ "settings": {
+ "type": "object",
+ "description": "Json formatted public settings for the extension."
+ },
+ "protectedSettings": {
+ "type": "object",
+ "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "instanceView": {
+ "$ref": "#/definitions/VirtualMachineExtensionInstanceView",
+ "description": "The virtual machine extension instance view."
+ }
+ },
+ "description": "Describes the properties of a Virtual Machine Extension."
+ },
+ "VirtualMachineExtensionUpdateProperties": {
+ "properties": {
+ "forceUpdateTag": {
+ "type": "string",
+ "description": "How the extension handler should be forced to update even if the extension configuration has not changed."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The name of the extension handler publisher."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "autoUpgradeMinorVersion": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true."
+ },
+ "enableAutomaticUpgrade": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available."
+ },
+ "settings": {
+ "type": "object",
+ "description": "Json formatted public settings for the extension."
+ },
+ "protectedSettings": {
+ "type": "object",
+ "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all."
+ }
+ },
+ "description": "Describes the properties of a Virtual Machine Extension."
+ },
+ "VirtualMachineExtension": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineExtensionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Describes a Virtual Machine Extension."
+ },
+ "VirtualMachineScaleSetVMExtension": {
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the extension."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineExtensionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResourceReadOnly"
+ }
+ ],
+ "description": "Describes a VMSS VM Extension."
+ },
+ "VirtualMachineExtensionUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineExtensionUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Describes a Virtual Machine Extension."
+ },
+ "VirtualMachineScaleSetVMExtensionUpdate": {
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the extension."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineExtensionUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResourceReadOnly"
+ }
+ ],
+ "description": "Describes a VMSS VM Extension."
+ },
+ "VirtualMachineExtensionsListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ },
+ "description": "The list of extensions"
+ }
+ },
+ "description": "The List Extension operation response"
+ },
+ "VirtualMachineScaleSetVMExtensionsListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMExtension"
+ },
+ "description": "The list of VMSS VM extensions"
+ }
+ },
+ "description": "The List VMSS VM Extension operation response"
+ },
+ "VirtualMachineSoftwarePatchProperties": {
+ "properties": {
+ "patchId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A unique identifier for the patch."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The friendly name of the patch."
+ },
+ "version": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The version number of the patch. This property applies only to Linux patches."
+ },
+ "kbId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The KBID of the patch. Only applies to Windows patches."
+ },
+ "classifications": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "The classification(s) of the patch as provided by the patch publisher."
+ },
+ "rebootBehavior": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Describes the reboot requirements of the patch.",
+ "enum": [
+ "Unknown",
+ "NeverReboots",
+ "AlwaysRequiresReboot",
+ "CanRequestReboot"
+ ],
+ "x-ms-enum": {
+ "name": "VMGuestPatchRebootBehavior",
+ "modelAsString": true
+ }
+ },
+ "activityId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs."
+ },
+ "publishedDate": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The UTC timestamp when the repository published this patch."
+ },
+ "lastModifiedDateTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The UTC timestamp of the last update to this patch record."
+ },
+ "assessmentState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Describes the availability of a given patch.",
+ "enum": [
+ "Unknown",
+ "Available"
+ ],
+ "x-ms-enum": {
+ "name": "PatchAssessmentState",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Describes the properties of a Virtual Machine software patch."
+ },
+ "VirtualMachineAssessPatchesResult": {
+ "properties": {
+ "status": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The overall success or failure status of the operation. It remains \"InProgress\" until the operation completes. At that point it will become \"Unknown\", \"Failed\", \"Succeeded\", or \"CompletedWithWarnings.\"",
+ "enum": [
+ "Unknown",
+ "InProgress",
+ "Failed",
+ "Succeeded",
+ "CompletedWithWarnings"
+ ],
+ "x-ms-enum": {
+ "name": "PatchOperationStatus",
+ "modelAsString": true
+ }
+ },
+ "assessmentActivityId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs."
+ },
+ "rebootPending": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "The overall reboot status of the VM. It will be true when partially installed patches require a reboot to complete installation but the reboot has not yet occurred."
+ },
+ "criticalAndSecurityPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of critical or security patches that have been detected as available and not yet installed."
+ },
+ "otherPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of all available patches excluding critical and security."
+ },
+ "startDateTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The UTC timestamp when the operation began."
+ },
+ "availablePatches": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineSoftwarePatchProperties"
+ },
+ "description": "The list of patches that have been detected as available for installation."
+ },
+ "error": {
+ "$ref": "#/definitions/ApiError",
+ "readOnly": true,
+ "description": "The errors that were encountered during execution of the operation. The details array contains the list of them."
+ }
+ },
+ "description": "Describes the properties of an AssessPatches result."
+ },
+ "VirtualMachineInstallPatchesParameters": {
+ "properties": {
+ "maximumDuration": {
+ "type": "string",
+ "description": "Specifies the maximum amount of time that the operation will run. It must be an ISO 8601-compliant duration string such as PT4H (4 hours)"
+ },
+ "rebootSetting": {
+ "type": "string",
+ "description": "Defines when it is acceptable to reboot a VM during a software update operation.",
+ "enum": [
+ "IfRequired",
+ "Never",
+ "Always"
+ ],
+ "x-ms-enum": {
+ "name": "VMGuestPatchRebootSetting",
+ "modelAsString": true
+ }
+ },
+ "windowsParameters": {
+ "$ref": "#/definitions/WindowsParameters",
+ "description": "Input for InstallPatches on a Windows VM, as directly received by the API"
+ },
+ "linuxParameters": {
+ "$ref": "#/definitions/LinuxParameters",
+ "description": "Input for InstallPatches on a Linux VM, as directly received by the API"
+ }
+ },
+ "required": [
+ "maximumDuration",
+ "rebootSetting"
+ ],
+ "description": "Input for InstallPatches as directly received by the API"
+ },
+ "WindowsParameters": {
+ "properties": {
+ "classificationsToInclude": {
+ "type": "array",
+ "description": "The update classifications to select when installing patches for Windows.",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Critical",
+ "Security",
+ "UpdateRollUp",
+ "FeaturePack",
+ "ServicePack",
+ "Definition",
+ "Tools",
+ "Updates"
+ ],
+ "x-ms-enum": {
+ "name": "VMGuestPatchClassification_Windows",
+ "modelAsString": true
+ }
+ }
+ },
+ "kbNumbersToInclude": {
+ "type": "array",
+ "description": "Kbs to include in the patch operation",
+ "items": {
+ "type": "string"
+ }
+ },
+ "kbNumbersToExclude": {
+ "type": "array",
+ "description": "Kbs to exclude in the patch operation",
+ "items": {
+ "type": "string"
+ }
+ },
+ "excludeKbsRequiringReboot": {
+ "type": "boolean",
+ "description": "Filters out Kbs that don't have an InstallationRebootBehavior of 'NeverReboots' when this is set to true."
+ },
+ "maxPatchPublishDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "This is used to install patches that were published on or before this given max published date."
+ }
+ },
+ "description": "Input for InstallPatches on a Windows VM, as directly received by the API"
+ },
+ "LinuxParameters": {
+ "properties": {
+ "classificationsToInclude": {
+ "type": "array",
+ "description": "The update classifications to select when installing patches for Linux.",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Critical",
+ "Security",
+ "Other"
+ ],
+ "x-ms-enum": {
+ "name": "VMGuestPatchClassification_Linux",
+ "modelAsString": true
+ }
+ }
+ },
+ "packageNameMasksToInclude": {
+ "type": "array",
+ "description": "packages to include in the patch operation. Format: packageName_packageVersion",
+ "items": {
+ "type": "string"
+ }
+ },
+ "packageNameMasksToExclude": {
+ "type": "array",
+ "description": "packages to exclude in the patch operation. Format: packageName_packageVersion",
+ "items": {
+ "type": "string"
+ }
+ },
+ "maintenanceRunId": {
+ "type": "string",
+ "description": "This is used as a maintenance run identifier for Auto VM Guest Patching in Linux."
+ }
+ },
+ "description": "Input for InstallPatches on a Linux VM, as directly received by the API"
+ },
+ "VirtualMachineInstallPatchesResult": {
+ "properties": {
+ "status": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The overall success or failure status of the operation. It remains \"InProgress\" until the operation completes. At that point it will become \"Failed\", \"Succeeded\", \"Unknown\" or \"CompletedWithWarnings.\"",
+ "enum": [
+ "Unknown",
+ "InProgress",
+ "Failed",
+ "Succeeded",
+ "CompletedWithWarnings"
+ ],
+ "x-ms-enum": {
+ "name": "PatchOperationStatus",
+ "modelAsString": true
+ }
+ },
+ "installationActivityId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs."
+ },
+ "rebootStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The reboot state of the VM following completion of the operation.",
+ "enum": [
+ "Unknown",
+ "NotNeeded",
+ "Required",
+ "Started",
+ "Failed",
+ "Completed"
+ ],
+ "x-ms-enum": {
+ "name": "VMGuestPatchRebootStatus",
+ "modelAsString": true
+ }
+ },
+ "maintenanceWindowExceeded": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Whether the operation ran out of time before it completed all its intended actions."
+ },
+ "excludedPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of patches that were not installed due to the user blocking their installation."
+ },
+ "notSelectedPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of patches that were detected as available for install, but did not meet the operation's criteria."
+ },
+ "pendingPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of patches that were identified as meeting the installation criteria, but were not able to be installed. Typically this happens when maintenanceWindowExceeded == true."
+ },
+ "installedPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of patches successfully installed."
+ },
+ "failedPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of patches that could not be installed due to some issue. See errors for details."
+ },
+ "patches": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PatchInstallationDetail"
+ },
+ "description": "The patches that were installed during the operation."
+ },
+ "startDateTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The UTC timestamp when the operation began."
+ },
+ "error": {
+ "$ref": "#/definitions/ApiError",
+ "readOnly": true,
+ "description": "The errors that were encountered during execution of the operation. The details array contains the list of them."
+ }
+ },
+ "description": "The result summary of an installation operation."
+ },
+ "PatchInstallationDetail": {
+ "properties": {
+ "patchId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A unique identifier for the patch."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The friendly name of the patch."
+ },
+ "version": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The version string of the package. It may conform to Semantic Versioning. Only applies to Linux."
+ },
+ "kbId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The KBID of the patch. Only applies to Windows patches."
+ },
+ "classifications": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "The classification(s) of the patch as provided by the patch publisher."
+ },
+ "installationState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The state of the patch after the installation operation completed.",
+ "enum": [
+ "Unknown",
+ "Installed",
+ "Failed",
+ "Excluded",
+ "NotSelected",
+ "Pending"
+ ],
+ "x-ms-enum": {
+ "name": "PatchInstallationState",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Information about a specific patch that was encountered during an installation action."
+ },
+ "PurchasePlan": {
+ "properties": {
+ "publisher": {
+ "type": "string",
+ "description": "The publisher ID."
+ },
+ "name": {
+ "type": "string",
+ "description": "The plan ID."
+ },
+ "product": {
+ "type": "string",
+ "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element."
+ }
+ },
+ "required": [
+ "publisher",
+ "name",
+ "product"
+ ],
+ "description": "Used for establishing the purchase context of any 3rd Party artifact through MarketPlace."
+ },
+ "OSDiskImage": {
+ "properties": {
+ "operatingSystem": {
+ "type": "string",
+ "description": "The operating system of the osDiskImage.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "operatingSystem"
+ ],
+ "description": "Contains the os disk image information."
+ },
+ "DataDiskImage": {
+ "properties": {
+ "lun": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM."
+ }
+ },
+ "description": "Contains the data disk images information."
+ },
+ "AutomaticOSUpgradeProperties": {
+ "properties": {
+ "automaticOSUpgradeSupported": {
+ "type": "boolean",
+ "description": "Specifies whether automatic OS upgrade is supported on the image."
+ }
+ },
+ "required": [
+ "automaticOSUpgradeSupported"
+ ],
+ "description": "Describes automatic OS upgrade properties on the image."
+ },
+ "VirtualMachineImageFeature": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the feature."
+ },
+ "value": {
+ "type": "string",
+ "description": "The corresponding value for the feature."
+ }
+ },
+ "description": "Specifies additional capabilities supported by the image"
+ },
+ "VirtualMachineImageProperties": {
+ "properties": {
+ "plan": {
+ "$ref": "#/definitions/PurchasePlan"
+ },
+ "osDiskImage": {
+ "$ref": "#/definitions/OSDiskImage"
+ },
+ "dataDiskImages": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataDiskImage"
+ }
+ },
+ "automaticOSUpgradeProperties": {
+ "$ref": "#/definitions/AutomaticOSUpgradeProperties"
+ },
+ "hyperVGeneration": {
+ "$ref": "#/definitions/HyperVGenerationType"
+ },
+ "disallowed": {
+ "$ref": "#/definitions/DisallowedConfiguration",
+ "description": "Specifies disallowed configuration for the VirtualMachine created from the image"
+ },
+ "features": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineImageFeature"
+ }
+ }
+ },
+ "description": "Describes the properties of a Virtual Machine Image."
+ },
+ "VirtualMachineImage": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineImageProperties"
+ }
+ },
+ "required": [
+ "name",
+ "location"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/VirtualMachineImageResource"
+ }
+ ],
+ "description": "Describes a Virtual Machine Image."
+ },
+ "UsageName": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The name of the resource."
+ },
+ "localizedValue": {
+ "type": "string",
+ "description": "The localized name of the resource."
+ }
+ },
+ "description": "The Usage Names."
+ },
+ "Usage": {
+ "properties": {
+ "unit": {
+ "type": "string",
+ "description": "An enum describing the unit of usage measurement.",
+ "enum": [
+ "Count"
+ ],
+ "x-ms-enum": {
+ "name": "UsageUnit",
+ "modelAsString": false
+ }
+ },
+ "currentValue": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The current usage of the resource."
+ },
+ "limit": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The maximum permitted usage of the resource."
+ },
+ "name": {
+ "$ref": "#/definitions/UsageName",
+ "description": "The name of the type of usage."
+ }
+ },
+ "required": [
+ "unit",
+ "currentValue",
+ "limit",
+ "name"
+ ],
+ "description": "Describes Compute Resource Usage."
+ },
+ "ListUsagesResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Usage"
+ },
+ "description": "The list of compute resource usages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of compute resource usage information. Call ListNext() with this to fetch the next page of compute resource usage information."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Usages operation response."
+ },
+ "VirtualMachineReimageParameters": {
+ "properties": {
+ "tempDisk": {
+ "type": "boolean",
+ "description": "Specifies whether to reimage temp disk. Default value: false. Note: This temp disk reimage parameter is only supported for VM/VMSS with Ephemeral OS disk."
+ }
+ },
+ "description": "Parameters for Reimaging Virtual Machine. NOTE: Virtual Machine OS disk will always be reimaged"
+ },
+ "VirtualMachineCaptureParameters": {
+ "properties": {
+ "vhdPrefix": {
+ "type": "string",
+ "description": "The captured virtual hard disk's name prefix."
+ },
+ "destinationContainerName": {
+ "type": "string",
+ "description": "The destination container name."
+ },
+ "overwriteVhds": {
+ "type": "boolean",
+ "description": "Specifies whether to overwrite the destination virtual hard disk, in case of conflict."
+ }
+ },
+ "required": [
+ "vhdPrefix",
+ "destinationContainerName",
+ "overwriteVhds"
+ ],
+ "description": "Capture Virtual Machine parameters."
+ },
+ "VirtualMachineCaptureResult": {
+ "properties": {
+ "$schema": {
+ "readOnly": true,
+ "type": "string",
+ "description": "the schema of the captured virtual machine"
+ },
+ "contentVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "the version of the content"
+ },
+ "parameters": {
+ "readOnly": true,
+ "type": "object",
+ "description": "parameters of the captured virtual machine"
+ },
+ "resources": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "object",
+ "description": "resource item"
+ },
+ "description": "a list of resource items of the captured virtual machine"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Output of virtual machine capture operation."
+ },
+ "Plan": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The plan ID."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The publisher ID."
+ },
+ "product": {
+ "type": "string",
+ "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element."
+ },
+ "promotionCode": {
+ "type": "string",
+ "description": "The promotion code."
+ }
+ },
+ "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**."
+ },
+ "HardwareProfile": {
+ "properties": {
+ "vmSize": {
+ "type": "string",
+ "description": "Specifies the size of the virtual machine.
The enum data type is currently deprecated and will be removed by December 23rd 2023.
Recommended way to get the list of available sizes is using these APIs:
[List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes)
[List all available virtual machine sizes in a region]( https://docs.microsoft.com/rest/api/compute/resourceskus/list)
[List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/sizes).
The available VM sizes depend on region and availability set.",
+ "enum": [
+ "Basic_A0",
+ "Basic_A1",
+ "Basic_A2",
+ "Basic_A3",
+ "Basic_A4",
+ "Standard_A0",
+ "Standard_A1",
+ "Standard_A2",
+ "Standard_A3",
+ "Standard_A4",
+ "Standard_A5",
+ "Standard_A6",
+ "Standard_A7",
+ "Standard_A8",
+ "Standard_A9",
+ "Standard_A10",
+ "Standard_A11",
+ "Standard_A1_v2",
+ "Standard_A2_v2",
+ "Standard_A4_v2",
+ "Standard_A8_v2",
+ "Standard_A2m_v2",
+ "Standard_A4m_v2",
+ "Standard_A8m_v2",
+ "Standard_B1s",
+ "Standard_B1ms",
+ "Standard_B2s",
+ "Standard_B2ms",
+ "Standard_B4ms",
+ "Standard_B8ms",
+ "Standard_D1",
+ "Standard_D2",
+ "Standard_D3",
+ "Standard_D4",
+ "Standard_D11",
+ "Standard_D12",
+ "Standard_D13",
+ "Standard_D14",
+ "Standard_D1_v2",
+ "Standard_D2_v2",
+ "Standard_D3_v2",
+ "Standard_D4_v2",
+ "Standard_D5_v2",
+ "Standard_D2_v3",
+ "Standard_D4_v3",
+ "Standard_D8_v3",
+ "Standard_D16_v3",
+ "Standard_D32_v3",
+ "Standard_D64_v3",
+ "Standard_D2s_v3",
+ "Standard_D4s_v3",
+ "Standard_D8s_v3",
+ "Standard_D16s_v3",
+ "Standard_D32s_v3",
+ "Standard_D64s_v3",
+ "Standard_D11_v2",
+ "Standard_D12_v2",
+ "Standard_D13_v2",
+ "Standard_D14_v2",
+ "Standard_D15_v2",
+ "Standard_DS1",
+ "Standard_DS2",
+ "Standard_DS3",
+ "Standard_DS4",
+ "Standard_DS11",
+ "Standard_DS12",
+ "Standard_DS13",
+ "Standard_DS14",
+ "Standard_DS1_v2",
+ "Standard_DS2_v2",
+ "Standard_DS3_v2",
+ "Standard_DS4_v2",
+ "Standard_DS5_v2",
+ "Standard_DS11_v2",
+ "Standard_DS12_v2",
+ "Standard_DS13_v2",
+ "Standard_DS14_v2",
+ "Standard_DS15_v2",
+ "Standard_DS13-4_v2",
+ "Standard_DS13-2_v2",
+ "Standard_DS14-8_v2",
+ "Standard_DS14-4_v2",
+ "Standard_E2_v3",
+ "Standard_E4_v3",
+ "Standard_E8_v3",
+ "Standard_E16_v3",
+ "Standard_E32_v3",
+ "Standard_E64_v3",
+ "Standard_E2s_v3",
+ "Standard_E4s_v3",
+ "Standard_E8s_v3",
+ "Standard_E16s_v3",
+ "Standard_E32s_v3",
+ "Standard_E64s_v3",
+ "Standard_E32-16_v3",
+ "Standard_E32-8s_v3",
+ "Standard_E64-32s_v3",
+ "Standard_E64-16s_v3",
+ "Standard_F1",
+ "Standard_F2",
+ "Standard_F4",
+ "Standard_F8",
+ "Standard_F16",
+ "Standard_F1s",
+ "Standard_F2s",
+ "Standard_F4s",
+ "Standard_F8s",
+ "Standard_F16s",
+ "Standard_F2s_v2",
+ "Standard_F4s_v2",
+ "Standard_F8s_v2",
+ "Standard_F16s_v2",
+ "Standard_F32s_v2",
+ "Standard_F64s_v2",
+ "Standard_F72s_v2",
+ "Standard_G1",
+ "Standard_G2",
+ "Standard_G3",
+ "Standard_G4",
+ "Standard_G5",
+ "Standard_GS1",
+ "Standard_GS2",
+ "Standard_GS3",
+ "Standard_GS4",
+ "Standard_GS5",
+ "Standard_GS4-8",
+ "Standard_GS4-4",
+ "Standard_GS5-16",
+ "Standard_GS5-8",
+ "Standard_H8",
+ "Standard_H16",
+ "Standard_H8m",
+ "Standard_H16m",
+ "Standard_H16r",
+ "Standard_H16mr",
+ "Standard_L4s",
+ "Standard_L8s",
+ "Standard_L16s",
+ "Standard_L32s",
+ "Standard_M64s",
+ "Standard_M64ms",
+ "Standard_M128s",
+ "Standard_M128ms",
+ "Standard_M64-32ms",
+ "Standard_M64-16ms",
+ "Standard_M128-64ms",
+ "Standard_M128-32ms",
+ "Standard_NC6",
+ "Standard_NC12",
+ "Standard_NC24",
+ "Standard_NC24r",
+ "Standard_NC6s_v2",
+ "Standard_NC12s_v2",
+ "Standard_NC24s_v2",
+ "Standard_NC24rs_v2",
+ "Standard_NC6s_v3",
+ "Standard_NC12s_v3",
+ "Standard_NC24s_v3",
+ "Standard_NC24rs_v3",
+ "Standard_ND6s",
+ "Standard_ND12s",
+ "Standard_ND24s",
+ "Standard_ND24rs",
+ "Standard_NV6",
+ "Standard_NV12",
+ "Standard_NV24"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualMachineSizeTypes",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Specifies the hardware settings for the virtual machine."
+ },
+ "ImageReference": {
+ "properties": {
+ "publisher": {
+ "type": "string",
+ "description": "The image publisher."
+ },
+ "offer": {
+ "type": "string",
+ "description": "Specifies the offer of the platform image or marketplace image used to create the virtual machine."
+ },
+ "sku": {
+ "type": "string",
+ "description": "The image SKU."
+ },
+ "version": {
+ "type": "string",
+ "description": "Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available."
+ },
+ "exactVersion": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Specifies in decimal numbers, the version of platform image or marketplace image used to create the virtual machine. This readonly field differs from 'version', only if the value specified in 'version' field is 'latest'."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set."
+ },
+ "KeyVaultSecretReference": {
+ "properties": {
+ "secretUrl": {
+ "type": "string",
+ "description": "The URL referencing a secret in a Key Vault."
+ },
+ "sourceVault": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The relative URL of the Key Vault containing the secret."
+ }
+ },
+ "required": [
+ "secretUrl",
+ "sourceVault"
+ ],
+ "description": "Describes a reference to Key Vault Secret"
+ },
+ "DiskEncryptionSetParameters": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Describes the parameter of customer managed disk encryption set resource id that can be specified for disk.
NOTE: The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details."
+ },
+ "KeyVaultKeyReference": {
+ "properties": {
+ "keyUrl": {
+ "type": "string",
+ "description": "The URL referencing a key encryption key in Key Vault."
+ },
+ "sourceVault": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The relative URL of the Key Vault containing the key."
+ }
+ },
+ "required": [
+ "keyUrl",
+ "sourceVault"
+ ],
+ "description": "Describes a reference to Key Vault Key"
+ },
+ "DiskEncryptionSettings": {
+ "properties": {
+ "diskEncryptionKey": {
+ "$ref": "#/definitions/KeyVaultSecretReference",
+ "description": "Specifies the location of the disk encryption key, which is a Key Vault Secret."
+ },
+ "keyEncryptionKey": {
+ "$ref": "#/definitions/KeyVaultKeyReference",
+ "description": "Specifies the location of the key encryption key in Key Vault."
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "Specifies whether disk encryption should be enabled on the virtual machine."
+ }
+ },
+ "description": "Describes a Encryption Settings for a Disk"
+ },
+ "VirtualHardDisk": {
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "Specifies the virtual hard disk's uri."
+ }
+ },
+ "description": "Describes the uri of a disk."
+ },
+ "Caching": {
+ "type": "string",
+ "description": "Specifies the caching requirements.
Possible values are:
**None**
**ReadOnly**
**ReadWrite**
Default: **None for Standard storage. ReadOnly for Premium storage**",
+ "enum": [
+ "None",
+ "ReadOnly",
+ "ReadWrite"
+ ],
+ "x-ms-enum": {
+ "name": "CachingTypes",
+ "modelAsString": false
+ }
+ },
+ "CreateOption": {
+ "type": "string",
+ "description": "Specifies how the virtual machine should be created.
Possible values are:
**Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.
**FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described.",
+ "enum": [
+ "FromImage",
+ "Empty",
+ "Attach"
+ ],
+ "x-ms-enum": {
+ "name": "DiskCreateOptionTypes",
+ "modelAsString": true
+ }
+ },
+ "DetachOption": {
+ "type": "string",
+ "description": "Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: **ForceDetach**.
detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior.
This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'.",
+ "enum": [
+ "ForceDetach"
+ ],
+ "x-ms-enum": {
+ "name": "DiskDetachOptionTypes",
+ "modelAsString": true
+ }
+ },
+ "DeleteOption": {
+ "type": "string",
+ "description": "Specifies the behavior of the managed disk when the VM gets deleted i.e whether the managed disk is deleted or detached. Supported values:
**Delete** If this value is used, the managed disk is deleted when VM gets deleted.
**Detach** If this value is used, the managed disk is retained after VM gets deleted.
Minimum api-version: 2021-03-01",
+ "enum": [
+ "Delete",
+ "Detach"
+ ],
+ "x-ms-enum": {
+ "name": "DiskDeleteOptionTypes",
+ "modelAsString": true
+ }
+ },
+ "StorageAccountType": {
+ "type": "string",
+ "description": "Specifies the storage account type for the managed disk. Managed OS disk storage account type can only be set when you create the scale set. NOTE: UltraSSD_LRS can only be used with data disks. It cannot be used with OS Disk. Standard_LRS uses Standard HDD. StandardSSD_LRS uses Standard SSD. Premium_LRS uses Premium SSD. UltraSSD_LRS uses Ultra disk. Premium_ZRS uses Premium SSD zone redundant storage. StandardSSD_ZRS uses Standard SSD zone redundant storage. For more information regarding disks supported for Windows Virtual Machines, refer to https://docs.microsoft.com/azure/virtual-machines/windows/disks-types and, for Linux Virtual Machines, refer to https://docs.microsoft.com/azure/virtual-machines/linux/disks-types",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "StandardSSD_LRS",
+ "UltraSSD_LRS",
+ "Premium_ZRS",
+ "StandardSSD_ZRS"
+ ],
+ "x-ms-enum": {
+ "name": "StorageAccountTypes",
+ "modelAsString": true
+ }
+ },
+ "DiffDiskOption": {
+ "type": "string",
+ "description": "Specifies the ephemeral disk option for operating system disk.",
+ "enum": [
+ "Local"
+ ],
+ "x-ms-enum": {
+ "name": "DiffDiskOptions",
+ "modelAsString": true
+ }
+ },
+ "DiffDiskPlacement": {
+ "type": "string",
+ "description": "Specifies the ephemeral disk placement for operating system disk. This property can be used by user in the request to choose the location i.e, cache disk or resource disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer Ephemeral OS disk size requirements for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements",
+ "enum": [
+ "CacheDisk",
+ "ResourceDisk"
+ ],
+ "x-ms-enum": {
+ "name": "DiffDiskPlacement",
+ "modelAsString": true
+ }
+ },
+ "DiffDiskSettings": {
+ "properties": {
+ "option": {
+ "$ref": "#/definitions/DiffDiskOption",
+ "description": "Specifies the ephemeral disk settings for operating system disk."
+ },
+ "placement": {
+ "$ref": "#/definitions/DiffDiskPlacement",
+ "description": "Specifies the ephemeral disk placement for operating system disk.
Possible values are:
**CacheDisk**
**ResourceDisk**
Default: **CacheDisk** if one is configured for the VM size otherwise **ResourceDisk** is used.
Refer to VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk."
+ }
+ },
+ "description": "Describes the parameters of ephemeral disk settings that can be specified for operating system disk.
NOTE: The ephemeral disk settings can only be specified for managed disk."
+ },
+ "ManagedDiskParameters": {
+ "properties": {
+ "storageAccountType": {
+ "$ref": "#/definitions/StorageAccountType",
+ "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk."
+ },
+ "diskEncryptionSet": {
+ "$ref": "#/definitions/DiskEncryptionSetParameters",
+ "description": "Specifies the customer managed disk encryption set resource id for the managed disk."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "The parameters of a managed disk."
+ },
+ "OSDisk": {
+ "properties": {
+ "osType": {
+ "type": "string",
+ "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.
Possible values are:
**Windows**
**Linux**",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "encryptionSettings": {
+ "$ref": "#/definitions/DiskEncryptionSettings",
+ "description": "Specifies the encryption settings for the OS Disk.
Minimum api-version: 2015-06-15"
+ },
+ "name": {
+ "type": "string",
+ "description": "The disk name."
+ },
+ "vhd": {
+ "$ref": "#/definitions/VirtualHardDisk",
+ "description": "The virtual hard disk."
+ },
+ "image": {
+ "$ref": "#/definitions/VirtualHardDisk",
+ "description": "The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist."
+ },
+ "caching": {
+ "$ref": "#/definitions/Caching",
+ "description": "Specifies the caching requirements.
Possible values are:
**None**
**ReadOnly**
**ReadWrite**
Default: **None** for Standard storage. **ReadOnly** for Premium storage."
+ },
+ "writeAcceleratorEnabled": {
+ "type": "boolean",
+ "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk."
+ },
+ "diffDiskSettings": {
+ "$ref": "#/definitions/DiffDiskSettings",
+ "description": "Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine."
+ },
+ "createOption": {
+ "$ref": "#/definitions/CreateOption",
+ "description": "Specifies how the virtual machine should be created.
Possible values are:
**Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.
**FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.
This value cannot be larger than 1023 GB"
+ },
+ "managedDisk": {
+ "description": "The managed disk parameters.",
+ "$ref": "#/definitions/ManagedDiskParameters"
+ },
+ "deleteOption": {
+ "$ref": "#/definitions/DeleteOption",
+ "description": "Specifies whether OS Disk should be deleted or detached upon VM deletion.
Possible values:
**Delete** If this value is used, the OS disk is deleted when VM is deleted.
**Detach** If this value is used, the os disk is retained after VM is deleted.
The default value is set to **detach**. For an ephemeral OS Disk, the default value is set to **Delete**. User cannot change the delete option for ephemeral OS Disk."
+ }
+ },
+ "required": [
+ "createOption"
+ ],
+ "description": "Specifies information about the operating system disk used by the virtual machine.
For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview)."
+ },
+ "DataDisk": {
+ "properties": {
+ "lun": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM."
+ },
+ "name": {
+ "type": "string",
+ "description": "The disk name."
+ },
+ "vhd": {
+ "$ref": "#/definitions/VirtualHardDisk",
+ "description": "The virtual hard disk."
+ },
+ "image": {
+ "$ref": "#/definitions/VirtualHardDisk",
+ "description": "The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist."
+ },
+ "caching": {
+ "$ref": "#/definitions/Caching",
+ "description": "Specifies the caching requirements.
Possible values are:
**None**
**ReadOnly**
**ReadWrite**
Default: **None for Standard storage. ReadOnly for Premium storage**"
+ },
+ "writeAcceleratorEnabled": {
+ "type": "boolean",
+ "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk."
+ },
+ "createOption": {
+ "$ref": "#/definitions/CreateOption",
+ "description": "Specifies how the virtual machine should be created.
Possible values are:
**Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.
**FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.
This value cannot be larger than 1023 GB"
+ },
+ "managedDisk": {
+ "description": "The managed disk parameters.",
+ "$ref": "#/definitions/ManagedDiskParameters"
+ },
+ "toBeDetached": {
+ "type": "boolean",
+ "description": "Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset"
+ },
+ "diskIOPSReadWrite": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int64",
+ "description": "Specifies the Read-Write IOPS for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set."
+ },
+ "diskMBpsReadWrite": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int64",
+ "description": "Specifies the bandwidth in MB per second for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set."
+ },
+ "detachOption": {
+ "$ref": "#/definitions/DetachOption",
+ "description": "Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: **ForceDetach**.
detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior.
This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'."
+ },
+ "deleteOption": {
+ "$ref": "#/definitions/DeleteOption",
+ "description": "Specifies whether data disk should be deleted or detached upon VM deletion.
Possible values:
**Delete** If this value is used, the data disk is deleted when VM is deleted.
**Detach** If this value is used, the data disk is retained after VM is deleted.
The default value is set to **detach**"
+ }
+ },
+ "required": [
+ "lun",
+ "createOption"
+ ],
+ "description": "Describes a data disk."
+ },
+ "StorageProfile": {
+ "properties": {
+ "imageReference": {
+ "$ref": "#/definitions/ImageReference",
+ "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations."
+ },
+ "osDisk": {
+ "$ref": "#/definitions/OSDisk",
+ "description": "Specifies information about the operating system disk used by the virtual machine.
For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview)."
+ },
+ "dataDisks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataDisk"
+ },
+ "description": "Specifies the parameters that are used to add a data disk to a virtual machine.
For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview)."
+ }
+ },
+ "description": "Specifies the storage settings for the virtual machine disks."
+ },
+ "UefiSettings": {
+ "properties": {
+ "secureBootEnabled": {
+ "type": "boolean",
+ "description": "Specifies whether secure boot should be enabled on the virtual machine.
Minimum api-version: 2020-12-01"
+ },
+ "vTpmEnabled": {
+ "type": "boolean",
+ "description": "Specifies whether vTPM should be enabled on the virtual machine.
Minimum api-version: 2020-12-01"
+ }
+ },
+ "description": "Specifies the security settings like secure boot and vTPM used while creating the virtual machine.
Minimum api-version: 2020-12-01"
+ },
+ "SecurityProfile": {
+ "properties": {
+ "uefiSettings": {
+ "$ref": "#/definitions/UefiSettings",
+ "description": "Specifies the security settings like secure boot and vTPM used while creating the virtual machine.
Minimum api-version: 2020-12-01"
+ },
+ "encryptionAtHost": {
+ "type": "boolean",
+ "description": "This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself.
Default: The Encryption at host will be disabled unless this property is set to true for the resource."
+ },
+ "securityType": {
+ "type": "string",
+ "description": "Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings.
Default: UefiSettings will not be enabled unless this property is set as TrustedLaunch.",
+ "enum": [
+ "TrustedLaunch"
+ ],
+ "x-ms-enum": {
+ "name": "SecurityTypes",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Specifies the Security profile settings for the virtual machine or virtual machine scale set."
+ },
+ "AdditionalCapabilities": {
+ "properties": {
+ "ultraSSDEnabled": {
+ "type": "boolean",
+ "description": "The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled."
+ }
+ },
+ "description": "Enables or disables a capability on the virtual machine or virtual machine scale set."
+ },
+ "AdditionalUnattendContent": {
+ "properties": {
+ "passName": {
+ "type": "string",
+ "description": "The pass name. Currently, the only allowable value is OobeSystem.",
+ "enum": [
+ "OobeSystem"
+ ],
+ "x-ms-enum": {
+ "name": "PassNames",
+ "modelAsString": false
+ }
+ },
+ "componentName": {
+ "type": "string",
+ "description": "The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.",
+ "enum": [
+ "Microsoft-Windows-Shell-Setup"
+ ],
+ "x-ms-enum": {
+ "name": "ComponentNames",
+ "modelAsString": false
+ }
+ },
+ "settingName": {
+ "type": "string",
+ "description": "Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.",
+ "enum": [
+ "AutoLogon",
+ "FirstLogonCommands"
+ ],
+ "x-ms-enum": {
+ "name": "SettingNames",
+ "modelAsString": false
+ }
+ },
+ "content": {
+ "type": "string",
+ "description": "Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted."
+ }
+ },
+ "description": "Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied."
+ },
+ "WinRMListener": {
+ "properties": {
+ "protocol": {
+ "type": "string",
+ "description": "Specifies the protocol of WinRM listener.
Possible values are:
**http**
**https**",
+ "enum": [
+ "Http",
+ "Https"
+ ],
+ "x-ms-enum": {
+ "name": "ProtocolTypes",
+ "modelAsString": false
+ }
+ },
+ "certificateUrl": {
+ "type": "string",
+ "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:
{
\"data\":\"\",
\"dataType\":\"pfx\",
\"password\":\"\"
}"
+ }
+ },
+ "description": "Describes Protocol and thumbprint of Windows Remote Management listener"
+ },
+ "WinRMConfiguration": {
+ "properties": {
+ "listeners": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WinRMListener"
+ },
+ "description": "The list of Windows Remote Management listeners"
+ }
+ },
+ "description": "Describes Windows Remote Management configuration of the VM"
+ },
+ "WindowsConfiguration": {
+ "properties": {
+ "provisionVMAgent": {
+ "type": "boolean",
+ "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.
When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later."
+ },
+ "enableAutomaticUpdates": {
+ "type": "boolean",
+ "description": "Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true.
For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning."
+ },
+ "timeZone": {
+ "type": "string",
+ "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\".
Possible values can be [TimeZoneInfo.Id](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time zones returned by [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.getsystemtimezones)."
+ },
+ "additionalUnattendContent": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AdditionalUnattendContent"
+ },
+ "description": "Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup."
+ },
+ "patchSettings": {
+ "$ref": "#/definitions/PatchSettings",
+ "description": "[Preview Feature] Specifies settings related to VM Guest Patching on Windows."
+ },
+ "winRM": {
+ "$ref": "#/definitions/WinRMConfiguration",
+ "description": "Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell."
+ }
+ },
+ "description": "Specifies Windows operating system settings on the virtual machine."
+ },
+ "SshPublicKey": {
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys"
+ },
+ "keyData": {
+ "type": "string",
+ "description": "SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format.
For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed)."
+ }
+ },
+ "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed."
+ },
+ "SshConfiguration": {
+ "properties": {
+ "publicKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SshPublicKey"
+ },
+ "description": "The list of SSH public keys used to authenticate with linux based VMs."
+ }
+ },
+ "description": "SSH configuration for Linux based VMs running on Azure"
+ },
+ "LinuxConfiguration": {
+ "properties": {
+ "disablePasswordAuthentication": {
+ "type": "boolean",
+ "description": "Specifies whether password authentication should be disabled."
+ },
+ "ssh": {
+ "$ref": "#/definitions/SshConfiguration",
+ "description": "Specifies the ssh key configuration for a Linux OS."
+ },
+ "provisionVMAgent": {
+ "type": "boolean",
+ "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.
When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later."
+ },
+ "patchSettings": {
+ "$ref": "#/definitions/LinuxPatchSettings",
+ "description": "[Preview Feature] Specifies settings related to VM Guest Patching on Linux."
+ }
+ },
+ "description": "Specifies the Linux operating system settings on the virtual machine.
For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros)."
+ },
+ "VaultCertificate": {
+ "properties": {
+ "certificateUrl": {
+ "type": "string",
+ "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:
{
\"data\":\"\",
\"dataType\":\"pfx\",
\"password\":\"\"
}"
+ },
+ "certificateStore": {
+ "type": "string",
+ "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.
For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted."
+ }
+ },
+ "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM."
+ },
+ "VaultSecretGroup": {
+ "properties": {
+ "sourceVault": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The relative URL of the Key Vault containing all of the certificates in VaultCertificates."
+ },
+ "vaultCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VaultCertificate"
+ },
+ "description": "The list of key vault references in SourceVault which contain certificates."
+ }
+ },
+ "description": "Describes a set of certificates which are all in the same Key Vault."
+ },
+ "OSProfile": {
+ "properties": {
+ "computerName": {
+ "type": "string",
+ "description": "Specifies the host OS name of the virtual machine.
This name cannot be updated after the VM is created.
**Max-length (Windows):** 15 characters
**Max-length (Linux):** 64 characters.
For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules)."
+ },
+ "adminUsername": {
+ "type": "string",
+ "description": "Specifies the name of the administrator account.
This property cannot be updated after the VM is created.
**Windows-only restriction:** Cannot end in \".\"
**Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".
**Minimum-length (Linux):** 1 character
**Max-length (Linux):** 64 characters
**Max-length (Windows):** 20 characters."
+ },
+ "adminPassword": {
+ "type": "string",
+ "description": "Specifies the password of the administrator account.
**Minimum-length (Windows):** 8 characters
**Minimum-length (Linux):** 6 characters
**Max-length (Windows):** 123 characters
**Max-length (Linux):** 72 characters
**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])
**Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"
For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp)
For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection)"
+ },
+ "customData": {
+ "type": "string",
+ "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.
**Note: Do not pass any secrets or passwords in customData property**
This property cannot be updated after the VM is created.
customData is passed to the VM to be saved as a file, for more information see [Custom Data on Azure VMs](https://azure.microsoft.com/blog/custom-data-and-cloud-init-on-windows-azure/)
For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init)"
+ },
+ "windowsConfiguration": {
+ "$ref": "#/definitions/WindowsConfiguration",
+ "description": "Specifies Windows operating system settings on the virtual machine."
+ },
+ "linuxConfiguration": {
+ "$ref": "#/definitions/LinuxConfiguration",
+ "description": "Specifies the Linux operating system settings on the virtual machine.
For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros)."
+ },
+ "secrets": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VaultSecretGroup"
+ },
+ "description": "Specifies set of certificates that should be installed onto the virtual machine."
+ },
+ "allowExtensionOperations": {
+ "type": "boolean",
+ "description": "Specifies whether extension operations should be allowed on the virtual machine.
This may only be set to False when no extensions are present on the virtual machine."
+ },
+ "requireGuestProvisionSignal": {
+ "type": "boolean",
+ "description": "Specifies whether the guest provision signal is required to infer provision success of the virtual machine. **Note: This property is for private testing only, and all customers must not set the property to false.**"
+ }
+ },
+ "description": "Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned."
+ },
+ "AutomaticRepairsPolicy": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false."
+ },
+ "gracePeriod": {
+ "type": "string",
+ "description": "The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M)."
+ }
+ },
+ "description": "Specifies the configuration parameters for automatic repairs on the virtual machine scale set."
+ },
+ "NetworkInterfaceReferenceProperties": {
+ "properties": {
+ "primary": {
+ "type": "boolean",
+ "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface."
+ },
+ "deleteOption": {
+ "type": "string",
+ "description": "Specify what happens to the network interface when the VM is deleted",
+ "enum": [
+ "Delete",
+ "Detach"
+ ],
+ "x-ms-enum": {
+ "name": "DeleteOptions",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Describes a network interface reference properties."
+ },
+ "NetworkInterfaceReference": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NetworkInterfaceReferenceProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Describes a network interface reference."
+ },
+ "VirtualMachineIpTag": {
+ "properties": {
+ "ipTagType": {
+ "type": "string",
+ "description": "IP tag type. Example: FirstPartyUsage."
+ },
+ "tag": {
+ "type": "string",
+ "description": "IP tag associated with the public IP. Example: SQL, Storage etc."
+ }
+ },
+ "description": "Contains the IP tag associated with the public IP address."
+ },
+ "VirtualMachinePublicIPAddressDnsSettingsConfiguration": {
+ "properties": {
+ "domainNameLabel": {
+ "type": "string",
+ "description": "The Domain name label prefix of the PublicIPAddress resources that will be created. The generated name label is the concatenation of the domain name label and vm network profile unique ID."
+ }
+ },
+ "required": [
+ "domainNameLabel"
+ ],
+ "description": "Describes a virtual machines network configuration's DNS settings."
+ },
+ "VirtualMachinePublicIPAddressConfigurationProperties": {
+ "properties": {
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The idle timeout of the public IP address."
+ },
+ "deleteOption": {
+ "type": "string",
+ "description": "Specify what happens to the public IP address when the VM is deleted",
+ "enum": [
+ "Delete",
+ "Detach"
+ ],
+ "x-ms-enum": {
+ "name": "DeleteOptions",
+ "modelAsString": true
+ }
+ },
+ "dnsSettings": {
+ "$ref": "#/definitions/VirtualMachinePublicIPAddressDnsSettingsConfiguration",
+ "description": "The dns settings to be applied on the publicIP addresses ."
+ },
+ "ipTags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineIpTag"
+ },
+ "description": "The list of IP tags associated with the public IP address."
+ },
+ "publicIPPrefix": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The PublicIPPrefix from which to allocate publicIP addresses."
+ },
+ "publicIPAddressVersion": {
+ "type": "string",
+ "description": "Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.",
+ "enum": [
+ "IPv4",
+ "IPv6"
+ ],
+ "x-ms-enum": {
+ "name": "IPVersions",
+ "modelAsString": true
+ }
+ },
+ "publicIPAllocationMethod": {
+ "type": "string",
+ "description": "Specify the public IP allocation type",
+ "enum": [
+ "Dynamic",
+ "Static"
+ ],
+ "x-ms-enum": {
+ "name": "PublicIPAllocationMethod",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Describes a virtual machines IP Configuration's PublicIPAddress configuration"
+ },
+ "PublicIPAddressSku": {
+ "properties": {
+ "publicIPAddressSkuName": {
+ "type": "string",
+ "description": "Specify public IP sku name",
+ "enum": [
+ "Basic",
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "PublicIPAddressSkuName",
+ "modelAsString": true
+ }
+ },
+ "publicIPAddressSkuTier": {
+ "type": "string",
+ "description": "Specify public IP sku tier",
+ "enum": [
+ "Regional",
+ "Global"
+ ],
+ "x-ms-enum": {
+ "name": "PublicIPAddressSkuTier",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "publicIPAddressSkuName"
+ ],
+ "description": "Describes the public IP Sku"
+ },
+ "VirtualMachinePublicIPAddressConfiguration": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The publicIP address configuration name."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachinePublicIPAddressConfigurationProperties"
+ },
+ "sku": {
+ "$ref": "#/definitions/PublicIPAddressSku"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Describes a virtual machines IP Configuration's PublicIPAddress configuration"
+ },
+ "VirtualMachineNetworkInterfaceIPConfigurationProperties": {
+ "properties": {
+ "subnet": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies the identifier of the subnet."
+ },
+ "primary": {
+ "type": "boolean",
+ "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface."
+ },
+ "publicIPAddressConfiguration": {
+ "$ref": "#/definitions/VirtualMachinePublicIPAddressConfiguration",
+ "description": "The publicIPAddressConfiguration."
+ },
+ "privateIPAddressVersion": {
+ "type": "string",
+ "description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.",
+ "enum": [
+ "IPv4",
+ "IPv6"
+ ],
+ "x-ms-enum": {
+ "name": "IPVersions",
+ "modelAsString": true
+ }
+ },
+ "applicationSecurityGroups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "Specifies an array of references to application security group."
+ },
+ "applicationGatewayBackendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "Specifies an array of references to backend address pools of application gateways. A virtual machine can reference backend address pools of multiple application gateways. Multiple virtual machines cannot use the same application gateway."
+ },
+ "loadBalancerBackendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "Specifies an array of references to backend address pools of load balancers. A virtual machine can reference backend address pools of one public and one internal load balancer. [Multiple virtual machines cannot use the same basic sku load balancer]."
+ }
+ },
+ "description": "Describes a virtual machine network interface IP configuration properties."
+ },
+ "VirtualMachineNetworkInterfaceIPConfiguration": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The IP configuration name."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineNetworkInterfaceIPConfigurationProperties"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Describes a virtual machine network profile's IP configuration."
+ },
+ "VirtualMachineNetworkInterfaceDnsSettingsConfiguration": {
+ "properties": {
+ "dnsServers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of DNS servers IP addresses"
+ }
+ },
+ "description": "Describes a virtual machines network configuration's DNS settings."
+ },
+ "VirtualMachineNetworkInterfaceConfigurationProperties": {
+ "properties": {
+ "primary": {
+ "type": "boolean",
+ "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface."
+ },
+ "deleteOption": {
+ "type": "string",
+ "description": "Specify what happens to the network interface when the VM is deleted",
+ "enum": [
+ "Delete",
+ "Detach"
+ ],
+ "x-ms-enum": {
+ "name": "DeleteOptions",
+ "modelAsString": true
+ }
+ },
+ "enableAcceleratedNetworking": {
+ "type": "boolean",
+ "description": "Specifies whether the network interface is accelerated networking-enabled."
+ },
+ "enableFpga": {
+ "type": "boolean",
+ "description": "Specifies whether the network interface is FPGA networking-enabled."
+ },
+ "enableIPForwarding": {
+ "type": "boolean",
+ "description": "Whether IP forwarding enabled on this NIC."
+ },
+ "networkSecurityGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The network security group."
+ },
+ "dnsSettings": {
+ "$ref": "#/definitions/VirtualMachineNetworkInterfaceDnsSettingsConfiguration",
+ "description": "The dns settings to be applied on the network interfaces."
+ },
+ "ipConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineNetworkInterfaceIPConfiguration"
+ },
+ "description": "Specifies the IP configurations of the network interface."
+ },
+ "dscpConfiguration": {
+ "$ref": "#/definitions/SubResource"
+ }
+ },
+ "required": [
+ "ipConfigurations"
+ ],
+ "description": "Describes a virtual machine network profile's IP configuration."
+ },
+ "VirtualMachineNetworkInterfaceConfiguration": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The network interface configuration name."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineNetworkInterfaceConfigurationProperties"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Describes a virtual machine network interface configurations."
+ },
+ "NetworkProfile": {
+ "properties": {
+ "networkInterfaces": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkInterfaceReference"
+ },
+ "description": "Specifies the list of resource Ids for the network interfaces associated with the virtual machine."
+ },
+ "networkApiVersion": {
+ "type": "string",
+ "description": "specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations",
+ "enum": [
+ "2020-11-01"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkApiVersion",
+ "modelAsString": true
+ }
+ },
+ "networkInterfaceConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineNetworkInterfaceConfiguration"
+ },
+ "description": "Specifies the networking configurations that will be used to create the virtual machine networking resources."
+ }
+ },
+ "description": "Specifies the network interfaces or the networking configuration of the virtual machine."
+ },
+ "BootDiagnostics": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether boot diagnostics should be enabled on the Virtual Machine."
+ },
+ "storageUri": {
+ "type": "string",
+ "description": "Uri of the storage account to use for placing the console output and screenshot.
If storageUri is not specified while enabling boot diagnostics, managed storage will be used."
+ }
+ },
+ "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.
You can easily view the output of your console log.
Azure also enables you to see a screenshot of the VM from the hypervisor."
+ },
+ "DiagnosticsProfile": {
+ "properties": {
+ "bootDiagnostics": {
+ "$ref": "#/definitions/BootDiagnostics",
+ "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.
You can easily view the output of your console log.
Azure also enables you to see a screenshot of the VM from the hypervisor."
+ }
+ },
+ "description": "Specifies the boot diagnostic settings state.
Minimum api-version: 2015-06-15."
+ },
+ "priority": {
+ "type": "string",
+ "description": "Specifies the priority for a standalone virtual machine or the virtual machines in the scale set.
'Low' enum will be deprecated in the future, please use 'Spot' as the enum to deploy Azure Spot VM/VMSS.",
+ "enum": [
+ "Regular",
+ "Low",
+ "Spot"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualMachinePriorityTypes",
+ "modelAsString": true
+ }
+ },
+ "evictionPolicy": {
+ "type": "string",
+ "description": "Specifies the eviction policy for the Azure Spot VM/VMSS",
+ "enum": [
+ "Deallocate",
+ "Delete"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualMachineEvictionPolicyTypes",
+ "modelAsString": true
+ }
+ },
+ "BillingProfile": {
+ "properties": {
+ "maxPrice": {
+ "type": "number",
+ "format": "double",
+ "description": "Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars.
This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price.
The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS.
Possible values are:
- Any decimal value greater than zero. Example: 0.01538
-1 – indicates default price to be up-to on-demand.
You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you.
Minimum api-version: 2019-03-01."
+ }
+ },
+ "description": "Specifies the billing related details of a Azure Spot VM or VMSS.
Minimum api-version: 2019-03-01."
+ },
+ "VirtualMachineExtensionHandlerInstanceView": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "status": {
+ "$ref": "#/definitions/InstanceViewStatus",
+ "description": "The extension handler status."
+ }
+ },
+ "description": "The instance view of a virtual machine extension handler."
+ },
+ "VirtualMachineAgentInstanceView": {
+ "properties": {
+ "vmAgentVersion": {
+ "type": "string",
+ "description": "The VM Agent full version."
+ },
+ "extensionHandlers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineExtensionHandlerInstanceView"
+ },
+ "description": "The virtual machine extension handler instance view."
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ }
+ },
+ "description": "The instance view of the VM Agent running on the virtual machine."
+ },
+ "DiskInstanceView": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The disk name."
+ },
+ "encryptionSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskEncryptionSettings"
+ },
+ "description": "Specifies the encryption settings for the OS Disk.
Minimum api-version: 2015-06-15"
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ }
+ },
+ "description": "The instance view of the disk."
+ },
+ "BootDiagnosticsInstanceView": {
+ "properties": {
+ "consoleScreenshotBlobUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The console screenshot blob URI.
NOTE: This will **not** be set if boot diagnostics is currently enabled with managed storage."
+ },
+ "serialConsoleLogBlobUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The serial console log blob Uri.
NOTE: This will **not** be set if boot diagnostics is currently enabled with managed storage."
+ },
+ "status": {
+ "readOnly": true,
+ "$ref": "#/definitions/InstanceViewStatus",
+ "description": "The boot diagnostics status information for the VM.
NOTE: It will be set only if there are errors encountered in enabling boot diagnostics."
+ }
+ },
+ "description": "The instance view of a virtual machine boot diagnostics."
+ },
+ "VirtualMachineIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of virtual machine identity. This property will only be provided for a system assigned identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id associated with the virtual machine. This property will only be provided for a system assigned identity."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "x-ms-client-name": "userAssignedIdentitiesValue",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ },
+ "description": "The list of user identities associated with the Virtual Machine. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
+ }
+ },
+ "description": "Identity for the virtual machine."
+ },
+ "MaintenanceRedeployStatus": {
+ "properties": {
+ "isCustomerInitiatedMaintenanceAllowed": {
+ "type": "boolean",
+ "description": "True, if customer is allowed to perform Maintenance."
+ },
+ "preMaintenanceWindowStartTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start Time for the Pre Maintenance Window."
+ },
+ "preMaintenanceWindowEndTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "End Time for the Pre Maintenance Window."
+ },
+ "maintenanceWindowStartTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start Time for the Maintenance Window."
+ },
+ "maintenanceWindowEndTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "End Time for the Maintenance Window."
+ },
+ "lastOperationResultCode": {
+ "type": "string",
+ "description": "The Last Maintenance Operation Result Code.",
+ "enum": [
+ "None",
+ "RetryLater",
+ "MaintenanceAborted",
+ "MaintenanceCompleted"
+ ],
+ "x-ms-enum": {
+ "name": "MaintenanceOperationResultCodeTypes",
+ "modelAsString": false
+ }
+ },
+ "lastOperationMessage": {
+ "type": "string",
+ "description": "Message returned for the last Maintenance Operation."
+ }
+ },
+ "description": "Maintenance Operation Status."
+ },
+ "VirtualMachineInstanceView": {
+ "properties": {
+ "platformUpdateDomain": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the update domain of the virtual machine."
+ },
+ "platformFaultDomain": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the fault domain of the virtual machine."
+ },
+ "computerName": {
+ "type": "string",
+ "description": "The computer name assigned to the virtual machine."
+ },
+ "osName": {
+ "type": "string",
+ "description": "The Operating System running on the virtual machine."
+ },
+ "osVersion": {
+ "type": "string",
+ "description": "The version of Operating System running on the virtual machine."
+ },
+ "hyperVGeneration": {
+ "type": "string",
+ "description": "Specifies the HyperVGeneration Type associated with a resource",
+ "enum": [
+ "V1",
+ "V2"
+ ],
+ "x-ms-enum": {
+ "name": "HyperVGenerationType",
+ "modelAsString": true
+ }
+ },
+ "rdpThumbPrint": {
+ "type": "string",
+ "description": "The Remote desktop certificate thumbprint."
+ },
+ "vmAgent": {
+ "$ref": "#/definitions/VirtualMachineAgentInstanceView",
+ "description": "The VM Agent running on the virtual machine."
+ },
+ "maintenanceRedeployStatus": {
+ "$ref": "#/definitions/MaintenanceRedeployStatus",
+ "description": "The Maintenance Operation status on the virtual machine."
+ },
+ "disks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskInstanceView"
+ },
+ "description": "The virtual machine disk information."
+ },
+ "extensions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineExtensionInstanceView"
+ },
+ "description": "The extensions information."
+ },
+ "vmHealth": {
+ "readOnly": true,
+ "$ref": "#/definitions/VirtualMachineHealthStatus",
+ "description": "The health status for the VM."
+ },
+ "bootDiagnostics": {
+ "$ref": "#/definitions/BootDiagnosticsInstanceView",
+ "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.
You can easily view the output of your console log.
Azure also enables you to see a screenshot of the VM from the hypervisor."
+ },
+ "assignedHost": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource id of the dedicated host, on which the virtual machine is allocated through automatic placement, when the virtual machine is associated with a dedicated host group that has automatic placement enabled.
Minimum api-version: 2020-06-01."
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ },
+ "patchStatus": {
+ "$ref": "#/definitions/VirtualMachinePatchStatus",
+ "description": "[Preview Feature] The status of virtual machine patch operations."
+ }
+ },
+ "description": "The instance view of a virtual machine."
+ },
+ "VirtualMachineProperties": {
+ "properties": {
+ "hardwareProfile": {
+ "$ref": "#/definitions/HardwareProfile",
+ "description": "Specifies the hardware settings for the virtual machine."
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/StorageProfile",
+ "description": "Specifies the storage settings for the virtual machine disks."
+ },
+ "additionalCapabilities": {
+ "$ref": "#/definitions/AdditionalCapabilities",
+ "description": "Specifies additional capabilities enabled or disabled on the virtual machine."
+ },
+ "osProfile": {
+ "$ref": "#/definitions/OSProfile",
+ "description": "Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/NetworkProfile",
+ "description": "Specifies the network interfaces of the virtual machine."
+ },
+ "securityProfile": {
+ "$ref": "#/definitions/SecurityProfile",
+ "description": "Specifies the Security related profile settings for the virtual machine."
+ },
+ "diagnosticsProfile": {
+ "$ref": "#/definitions/DiagnosticsProfile",
+ "description": "Specifies the boot diagnostic settings state.
Minimum api-version: 2015-06-15."
+ },
+ "availabilitySet": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview).
For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates)
Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being added should be under the same resource group as the availability set resource. An existing VM cannot be added to an availability set.
This property cannot exist along with a non-null properties.virtualMachineScaleSet reference."
+ },
+ "virtualMachineScaleSet": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the virtual machine scale set that the virtual machine should be assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM cannot be added to a virtual machine scale set.
This property cannot exist along with a non-null properties.availabilitySet reference.
Minimum api‐version: 2019‐03‐01"
+ },
+ "proximityPlacementGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the proximity placement group that the virtual machine should be assigned to.
Minimum api-version: 2018-04-01."
+ },
+ "priority": {
+ "$ref": "#/definitions/priority",
+ "description": "Specifies the priority for the virtual machine.
Minimum api-version: 2019-03-01"
+ },
+ "evictionPolicy": {
+ "$ref": "#/definitions/evictionPolicy",
+ "description": "Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set.
For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01.
For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview."
+ },
+ "billingProfile": {
+ "$ref": "#/definitions/BillingProfile",
+ "description": "Specifies the billing related details of a Azure Spot virtual machine.
Minimum api-version: 2019-03-01."
+ },
+ "host": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the dedicated host that the virtual machine resides in.
Minimum api-version: 2018-10-01."
+ },
+ "hostGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the dedicated host group that the virtual machine resides in.
Minimum api-version: 2020-06-01.
NOTE: User cannot specify both host and hostGroup properties."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "instanceView": {
+ "$ref": "#/definitions/VirtualMachineInstanceView",
+ "readOnly": true,
+ "description": "The virtual machine instance view."
+ },
+ "licenseType": {
+ "type": "string",
+ "description": "Specifies that the image or disk that is being used was licensed on-premises.
Possible values for Windows Server operating system are:
Windows_Client
Windows_Server
Possible values for Linux Server operating system are:
RHEL_BYOS (for RHEL)
SLES_BYOS (for SUSE)
For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)
[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)
Minimum api-version: 2015-06-15"
+ },
+ "vmId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the VM unique ID which is a 128-bits identifier that is encoded and stored in all Azure IaaS VMs SMBIOS and can be read using platform BIOS commands."
+ },
+ "extensionsTimeBudget": {
+ "type": "string",
+ "description": "Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M).
Minimum api-version: 2020-06-01"
+ },
+ "platformFaultDomain": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the scale set logical fault domain into which the Virtual Machine will be created. By default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across available fault domains.
This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set.The Virtual Machine Scale Set that is referenced, must have 'platformFaultDomainCount' > 1.This property cannot be updated once the Virtual Machine is created.Fault domain assignment can be viewed in the Virtual Machine Instance View.
Minimum api‐version: 2020‐12‐01"
+ },
+ "scheduledEventsProfile": {
+ "$ref": "#/definitions/ScheduledEventsProfile",
+ "description": "Specifies Scheduled Event related configurations."
+ },
+ "userData": {
+ "type": "string",
+ "description": "UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here.
Minimum api-version: 2021-03-01"
+ }
+ },
+ "description": "Describes the properties of a Virtual Machine."
+ },
+ "VirtualMachine": {
+ "properties": {
+ "plan": {
+ "$ref": "#/definitions/Plan",
+ "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineProperties"
+ },
+ "resources": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ },
+ "description": "The virtual machine child extension resources."
+ },
+ "identity": {
+ "$ref": "#/definitions/VirtualMachineIdentity",
+ "description": "The identity of the virtual machine, if configured."
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The virtual machine zones."
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The extended location of the Virtual Machine."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Describes a Virtual Machine."
+ },
+ "VirtualMachineUpdate": {
+ "properties": {
+ "plan": {
+ "$ref": "#/definitions/Plan",
+ "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineProperties"
+ },
+ "identity": {
+ "$ref": "#/definitions/VirtualMachineIdentity",
+ "description": "The identity of the virtual machine, if configured."
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The virtual machine zones."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Describes a Virtual Machine Update."
+ },
+ "VirtualMachineListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachine"
+ },
+ "description": "The list of virtual machines."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of VMs. Call ListNext() with this URI to fetch the next page of Virtual Machines."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Virtual Machine operation response."
+ },
+ "Sku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The sku name."
+ },
+ "tier": {
+ "type": "string",
+ "description": "Specifies the tier of virtual machines in a scale set.
Possible Values:
**Standard**
**Basic**"
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Specifies the number of virtual machines in the scale set."
+ }
+ },
+ "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name."
+ },
+ "AutomaticOSUpgradePolicy": {
+ "properties": {
+ "enableAutomaticOSUpgrade": {
+ "type": "boolean",
+ "description": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false.
If this is set to true for Windows based scale sets, [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet) is automatically set to false and cannot be set to true."
+ },
+ "disableAutomaticRollback": {
+ "type": "boolean",
+ "description": "Whether OS image rollback feature should be disabled. Default value is false."
+ }
+ },
+ "description": "The configuration parameters used for performing automatic OS upgrade."
+ },
+ "UpgradePolicy": {
+ "properties": {
+ "mode": {
+ "type": "string",
+ "description": "Specifies the mode of an upgrade to virtual machines in the scale set.
Possible values are:
**Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.
**Automatic** - All virtual machines in the scale set are automatically updated at the same time.",
+ "enum": [
+ "Automatic",
+ "Manual",
+ "Rolling"
+ ],
+ "x-ms-enum": {
+ "name": "UpgradeMode",
+ "modelAsString": false
+ }
+ },
+ "rollingUpgradePolicy": {
+ "$ref": "#/definitions/RollingUpgradePolicy",
+ "description": "The configuration parameters used while performing a rolling upgrade."
+ },
+ "automaticOSUpgradePolicy": {
+ "$ref": "#/definitions/AutomaticOSUpgradePolicy",
+ "description": "Configuration parameters used for performing automatic OS Upgrade."
+ }
+ },
+ "description": "Describes an upgrade policy - automatic, manual, or rolling."
+ },
+ "RollingUpgradePolicy": {
+ "properties": {
+ "maxBatchInstancePercent": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 5,
+ "maximum": 100,
+ "description": "The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%."
+ },
+ "maxUnhealthyInstancePercent": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 5,
+ "maximum": 100,
+ "description": "The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%."
+ },
+ "maxUnhealthyUpgradedInstancePercent": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 100,
+ "description": "The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%."
+ },
+ "pauseTimeBetweenBatches": {
+ "type": "string",
+ "description": "The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S)."
+ },
+ "enableCrossZoneUpgrade": {
+ "type": "boolean",
+ "description": "Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size."
+ },
+ "prioritizeUnhealthyInstances": {
+ "type": "boolean",
+ "description": "Upgrade all unhealthy instances in a scale set before any healthy instances."
+ }
+ },
+ "description": "The configuration parameters used while performing a rolling upgrade."
+ },
+ "ScaleInPolicy": {
+ "properties": {
+ "rules": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Default",
+ "OldestVM",
+ "NewestVM"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualMachineScaleSetScaleInRules",
+ "modelAsString": true
+ }
+ },
+ "description": "The rules to be followed when scaling-in a virtual machine scale set.
Possible values are:
**Default** When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in.
**OldestVM** When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal.
**NewestVM** When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.
"
+ }
+ },
+ "description": "Describes a scale-in policy for a virtual machine scale set."
+ },
+ "OrchestrationMode": {
+ "type": "string",
+ "description": "Specifies the orchestration mode for the virtual machine scale set.",
+ "enum": [
+ "Uniform",
+ "Flexible"
+ ],
+ "x-ms-enum": {
+ "name": "OrchestrationMode",
+ "modelAsString": true
+ }
+ },
+ "ImageOSDisk": {
+ "properties": {
+ "osType": {
+ "type": "string",
+ "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image.
Possible values are:
**Windows**
**Linux**",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "osState": {
+ "type": "string",
+ "description": "The OS State.",
+ "enum": [
+ "Generalized",
+ "Specialized"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemStateTypes",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Generalized",
+ "description": "Generalized image. Needs to be provisioned during deployment time."
+ },
+ {
+ "value": "Specialized",
+ "description": "Specialized image. Contains already provisioned OS Disk."
+ }
+ ]
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ImageDisk"
+ }
+ ],
+ "required": [
+ "osType",
+ "osState"
+ ],
+ "description": "Describes an Operating System disk."
+ },
+ "ImageDataDisk": {
+ "properties": {
+ "lun": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ImageDisk"
+ }
+ ],
+ "required": [
+ "lun"
+ ],
+ "description": "Describes a data disk."
+ },
+ "ImageDisk": {
+ "properties": {
+ "snapshot": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The snapshot."
+ },
+ "managedDisk": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The managedDisk."
+ },
+ "blobUri": {
+ "type": "string",
+ "description": "The Virtual Hard Disk."
+ },
+ "caching": {
+ "type": "string",
+ "description": "Specifies the caching requirements.
Possible values are:
**None**
**ReadOnly**
**ReadWrite**
Default: **None for Standard storage. ReadOnly for Premium storage**",
+ "enum": [
+ "None",
+ "ReadOnly",
+ "ReadWrite"
+ ],
+ "x-ms-enum": {
+ "name": "CachingTypes",
+ "modelAsString": false
+ }
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.
This value cannot be larger than 1023 GB"
+ },
+ "storageAccountType": {
+ "$ref": "#/definitions/StorageAccountType",
+ "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk."
+ },
+ "diskEncryptionSet": {
+ "$ref": "#/definitions/DiskEncryptionSetParameters",
+ "description": "Specifies the customer managed disk encryption set resource id for the managed image disk."
+ }
+ },
+ "description": "Describes a image disk."
+ },
+ "ImageStorageProfile": {
+ "properties": {
+ "osDisk": {
+ "$ref": "#/definitions/ImageOSDisk",
+ "description": "Specifies information about the operating system disk used by the virtual machine.
For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview)."
+ },
+ "dataDisks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageDataDisk"
+ },
+ "description": "Specifies the parameters that are used to add a data disk to a virtual machine.
For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview)."
+ },
+ "zoneResilient": {
+ "type": "boolean",
+ "description": "Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be created only in regions that provide Zone Redundant Storage (ZRS)."
+ }
+ },
+ "description": "Describes a storage profile."
+ },
+ "ImageProperties": {
+ "properties": {
+ "sourceVirtualMachine": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The source virtual machine from which Image is created."
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/ImageStorageProfile",
+ "description": "Specifies the storage settings for the virtual machine disks."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state."
+ },
+ "hyperVGeneration": {
+ "$ref": "#/definitions/HyperVGenerationType",
+ "description": "Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed resource."
+ }
+ },
+ "description": "Describes the properties of an Image."
+ },
+ "Image": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ImageProperties"
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The extended location of the Image."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist."
+ },
+ "ImageUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ImageProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "The source user image virtual hard disk. Only tags may be updated."
+ },
+ "ImageListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Image"
+ },
+ "description": "The list of Images."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of Images. Call ListNext() with this to fetch the next page of Images."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Image operation response."
+ },
+ "VirtualMachineScaleSetIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of virtual machine scale set identity. This property will only be provided for a system assigned identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id associated with the virtual machine scale set. This property will only be provided for a system assigned identity."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "x-ms-client-name": "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ },
+ "description": "The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
+ }
+ },
+ "description": "Identity for the virtual machine scale set."
+ },
+ "VirtualMachineScaleSetOSProfile": {
+ "properties": {
+ "computerNamePrefix": {
+ "type": "string",
+ "description": "Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long."
+ },
+ "adminUsername": {
+ "type": "string",
+ "description": "Specifies the name of the administrator account.
**Windows-only restriction:** Cannot end in \".\"
**Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".
**Minimum-length (Linux):** 1 character
**Max-length (Linux):** 64 characters
**Max-length (Windows):** 20 characters"
+ },
+ "adminPassword": {
+ "type": "string",
+ "description": "Specifies the password of the administrator account.
**Minimum-length (Windows):** 8 characters
**Minimum-length (Linux):** 6 characters
**Max-length (Windows):** 123 characters
**Max-length (Linux):** 72 characters
**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])
**Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"
For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp)
For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection)"
+ },
+ "customData": {
+ "type": "string",
+ "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.
For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init)"
+ },
+ "windowsConfiguration": {
+ "$ref": "#/definitions/WindowsConfiguration",
+ "description": "Specifies Windows operating system settings on the virtual machine."
+ },
+ "linuxConfiguration": {
+ "$ref": "#/definitions/LinuxConfiguration",
+ "description": "Specifies the Linux operating system settings on the virtual machine.
For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros)."
+ },
+ "secrets": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VaultSecretGroup"
+ },
+ "description": "Specifies set of certificates that should be installed onto the virtual machines in the scale set."
+ }
+ },
+ "description": "Describes a virtual machine scale set OS profile."
+ },
+ "VirtualMachineScaleSetUpdateOSProfile": {
+ "properties": {
+ "customData": {
+ "type": "string",
+ "description": "A base-64 encoded string of custom data."
+ },
+ "windowsConfiguration": {
+ "$ref": "#/definitions/WindowsConfiguration",
+ "description": "The Windows Configuration of the OS profile."
+ },
+ "linuxConfiguration": {
+ "$ref": "#/definitions/LinuxConfiguration",
+ "description": "The Linux Configuration of the OS profile."
+ },
+ "secrets": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VaultSecretGroup"
+ },
+ "description": "The List of certificates for addition to the VM."
+ }
+ },
+ "description": "Describes a virtual machine scale set OS profile."
+ },
+ "VirtualMachineScaleSetManagedDiskParameters": {
+ "properties": {
+ "storageAccountType": {
+ "$ref": "#/definitions/StorageAccountType",
+ "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk."
+ },
+ "diskEncryptionSet": {
+ "$ref": "#/definitions/DiskEncryptionSetParameters",
+ "description": "Specifies the customer managed disk encryption set resource id for the managed disk."
+ }
+ },
+ "description": "Describes the parameters of a ScaleSet managed disk."
+ },
+ "VirtualMachineScaleSetOSDisk": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The disk name."
+ },
+ "caching": {
+ "$ref": "#/definitions/Caching",
+ "description": "Specifies the caching requirements.
Possible values are:
**None**
**ReadOnly**
**ReadWrite**
Default: **None for Standard storage. ReadOnly for Premium storage**"
+ },
+ "writeAcceleratorEnabled": {
+ "type": "boolean",
+ "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk."
+ },
+ "createOption": {
+ "$ref": "#/definitions/CreateOption",
+ "description": "Specifies how the virtual machines in the scale set should be created.
The only allowed value is: **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described."
+ },
+ "diffDiskSettings": {
+ "$ref": "#/definitions/DiffDiskSettings",
+ "description": "Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.
This value cannot be larger than 1023 GB"
+ },
+ "osType": {
+ "type": "string",
+ "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.
Possible values are:
**Windows**
**Linux**",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "image": {
+ "$ref": "#/definitions/VirtualHardDisk",
+ "description": "Specifies information about the unmanaged user image to base the scale set on."
+ },
+ "vhdContainers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Specifies the container urls that are used to store operating system disks for the scale set."
+ },
+ "managedDisk": {
+ "description": "The managed disk parameters.",
+ "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters"
+ }
+ },
+ "required": [
+ "createOption"
+ ],
+ "description": "Describes a virtual machine scale set operating system disk."
+ },
+ "VirtualMachineScaleSetUpdateOSDisk": {
+ "properties": {
+ "caching": {
+ "$ref": "#/definitions/Caching",
+ "description": "The caching type."
+ },
+ "writeAcceleratorEnabled": {
+ "type": "boolean",
+ "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.
This value cannot be larger than 1023 GB"
+ },
+ "image": {
+ "$ref": "#/definitions/VirtualHardDisk",
+ "description": "The Source User Image VirtualHardDisk. This VirtualHardDisk will be copied before using it to attach to the Virtual Machine. If SourceImage is provided, the destination VirtualHardDisk should not exist."
+ },
+ "vhdContainers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of virtual hard disk container uris."
+ },
+ "managedDisk": {
+ "description": "The managed disk parameters.",
+ "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters"
+ }
+ },
+ "description": "Describes virtual machine scale set operating system disk Update Object. This should be used for Updating VMSS OS Disk."
+ },
+ "VirtualMachineScaleSetDataDisk": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The disk name."
+ },
+ "lun": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM."
+ },
+ "caching": {
+ "$ref": "#/definitions/Caching",
+ "description": "Specifies the caching requirements.
Possible values are:
**None**
**ReadOnly**
**ReadWrite**
Default: **None for Standard storage. ReadOnly for Premium storage**"
+ },
+ "writeAcceleratorEnabled": {
+ "type": "boolean",
+ "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk."
+ },
+ "createOption": {
+ "$ref": "#/definitions/CreateOption",
+ "description": "The create option."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.
This value cannot be larger than 1023 GB"
+ },
+ "managedDisk": {
+ "description": "The managed disk parameters.",
+ "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters"
+ },
+ "diskIOPSReadWrite": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB."
+ },
+ "diskMBpsReadWrite": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB."
+ }
+ },
+ "required": [
+ "lun",
+ "createOption"
+ ],
+ "description": "Describes a virtual machine scale set data disk."
+ },
+ "VirtualMachineScaleSetStorageProfile": {
+ "properties": {
+ "imageReference": {
+ "$ref": "#/definitions/ImageReference",
+ "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations."
+ },
+ "osDisk": {
+ "$ref": "#/definitions/VirtualMachineScaleSetOSDisk",
+ "description": "Specifies information about the operating system disk used by the virtual machines in the scale set.
For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview)."
+ },
+ "dataDisks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetDataDisk"
+ },
+ "description": "Specifies the parameters that are used to add data disks to the virtual machines in the scale set.
For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview)."
+ }
+ },
+ "description": "Describes a virtual machine scale set storage profile."
+ },
+ "VirtualMachineScaleSetUpdateStorageProfile": {
+ "properties": {
+ "imageReference": {
+ "$ref": "#/definitions/ImageReference",
+ "description": "The image reference."
+ },
+ "osDisk": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateOSDisk",
+ "description": "The OS disk."
+ },
+ "dataDisks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetDataDisk"
+ },
+ "description": "The data disks."
+ }
+ },
+ "description": "Describes a virtual machine scale set storage profile."
+ },
+ "ApiEntityReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/..."
+ }
+ },
+ "description": "The API entity reference."
+ },
+ "VirtualMachineScaleSetIPConfigurationProperties": {
+ "properties": {
+ "subnet": {
+ "$ref": "#/definitions/ApiEntityReference",
+ "description": "Specifies the identifier of the subnet."
+ },
+ "primary": {
+ "type": "boolean",
+ "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface."
+ },
+ "publicIPAddressConfiguration": {
+ "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfiguration",
+ "description": "The publicIPAddressConfiguration."
+ },
+ "privateIPAddressVersion": {
+ "type": "string",
+ "description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.",
+ "enum": [
+ "IPv4",
+ "IPv6"
+ ],
+ "x-ms-enum": {
+ "name": "IPVersion",
+ "modelAsString": true
+ }
+ },
+ "applicationGatewayBackendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway."
+ },
+ "applicationSecurityGroups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "Specifies an array of references to application security group."
+ },
+ "loadBalancerBackendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer."
+ },
+ "loadBalancerInboundNatPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer."
+ }
+ },
+ "description": "Describes a virtual machine scale set network profile's IP configuration properties."
+ },
+ "VirtualMachineScaleSetUpdateIPConfigurationProperties": {
+ "properties": {
+ "subnet": {
+ "$ref": "#/definitions/ApiEntityReference",
+ "description": "The subnet."
+ },
+ "primary": {
+ "type": "boolean",
+ "description": "Specifies the primary IP Configuration in case the network interface has more than one IP Configuration."
+ },
+ "publicIPAddressConfiguration": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdatePublicIPAddressConfiguration",
+ "description": "The publicIPAddressConfiguration."
+ },
+ "privateIPAddressVersion": {
+ "type": "string",
+ "description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.",
+ "enum": [
+ "IPv4",
+ "IPv6"
+ ],
+ "x-ms-enum": {
+ "name": "IPVersion",
+ "modelAsString": true
+ }
+ },
+ "applicationGatewayBackendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "The application gateway backend address pools."
+ },
+ "applicationSecurityGroups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "Specifies an array of references to application security group."
+ },
+ "loadBalancerBackendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "The load balancer backend address pools."
+ },
+ "loadBalancerInboundNatPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "The load balancer inbound nat pools."
+ }
+ },
+ "description": "Describes a virtual machine scale set network profile's IP configuration properties."
+ },
+ "VirtualMachineScaleSetIPConfiguration": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The IP configuration name."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetIPConfigurationProperties"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Describes a virtual machine scale set network profile's IP configuration."
+ },
+ "VirtualMachineScaleSetUpdateIPConfiguration": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The IP configuration name."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateIPConfigurationProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Describes a virtual machine scale set network profile's IP configuration. NOTE: The subnet of a scale set may be modified as long as the original subnet and the new subnet are in the same virtual network"
+ },
+ "VirtualMachineScaleSetNetworkConfigurationProperties": {
+ "properties": {
+ "primary": {
+ "type": "boolean",
+ "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface."
+ },
+ "enableAcceleratedNetworking": {
+ "type": "boolean",
+ "description": "Specifies whether the network interface is accelerated networking-enabled."
+ },
+ "enableFpga": {
+ "type": "boolean",
+ "description": "Specifies whether the network interface is FPGA networking-enabled."
+ },
+ "networkSecurityGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The network security group."
+ },
+ "dnsSettings": {
+ "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationDnsSettings",
+ "description": "The dns settings to be applied on the network interfaces."
+ },
+ "ipConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetIPConfiguration"
+ },
+ "description": "Specifies the IP configurations of the network interface."
+ },
+ "enableIPForwarding": {
+ "type": "boolean",
+ "description": "Whether IP forwarding enabled on this NIC."
+ },
+ "deleteOption": {
+ "type": "string",
+ "description": "Specify what happens to the network interface when the VM is deleted",
+ "enum": [
+ "Delete",
+ "Detach"
+ ],
+ "x-ms-enum": {
+ "name": "DeleteOptions",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "ipConfigurations"
+ ],
+ "description": "Describes a virtual machine scale set network profile's IP configuration."
+ },
+ "VirtualMachineScaleSetUpdateNetworkConfigurationProperties": {
+ "properties": {
+ "primary": {
+ "type": "boolean",
+ "description": "Whether this is a primary NIC on a virtual machine."
+ },
+ "enableAcceleratedNetworking": {
+ "type": "boolean",
+ "description": "Specifies whether the network interface is accelerated networking-enabled."
+ },
+ "enableFpga": {
+ "type": "boolean",
+ "description": "Specifies whether the network interface is FPGA networking-enabled."
+ },
+ "networkSecurityGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The network security group."
+ },
+ "dnsSettings": {
+ "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationDnsSettings",
+ "description": "The dns settings to be applied on the network interfaces."
+ },
+ "ipConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateIPConfiguration"
+ },
+ "description": "The virtual machine scale set IP Configuration."
+ },
+ "enableIPForwarding": {
+ "type": "boolean",
+ "description": "Whether IP forwarding enabled on this NIC."
+ },
+ "deleteOption": {
+ "type": "string",
+ "description": "Specify what happens to the network interface when the VM is deleted",
+ "enum": [
+ "Delete",
+ "Detach"
+ ],
+ "x-ms-enum": {
+ "name": "DeleteOptions",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Describes a virtual machine scale set updatable network profile's IP configuration.Use this object for updating network profile's IP Configuration."
+ },
+ "VirtualMachineScaleSetNetworkConfiguration": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The network configuration name."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationProperties"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Describes a virtual machine scale set network profile's network configurations."
+ },
+ "VirtualMachineScaleSetUpdateNetworkConfiguration": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The network configuration name."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateNetworkConfigurationProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Describes a virtual machine scale set network profile's network configurations."
+ },
+ "VirtualMachineScaleSetNetworkConfigurationDnsSettings": {
+ "properties": {
+ "dnsServers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of DNS servers IP addresses"
+ }
+ },
+ "description": "Describes a virtual machines scale sets network configuration's DNS settings."
+ },
+ "VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings": {
+ "properties": {
+ "domainNameLabel": {
+ "type": "string",
+ "description": "The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created"
+ }
+ },
+ "required": [
+ "domainNameLabel"
+ ],
+ "description": "Describes a virtual machines scale sets network configuration's DNS settings."
+ },
+ "VirtualMachineScaleSetIpTag": {
+ "properties": {
+ "ipTagType": {
+ "type": "string",
+ "description": "IP tag type. Example: FirstPartyUsage."
+ },
+ "tag": {
+ "type": "string",
+ "description": "IP tag associated with the public IP. Example: SQL, Storage etc."
+ }
+ },
+ "description": "Contains the IP tag associated with the public IP address."
+ },
+ "VirtualMachineScaleSetPublicIPAddressConfiguration": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The publicIP address configuration name."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationProperties"
+ },
+ "sku": {
+ "$ref": "#/definitions/PublicIPAddressSku"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration"
+ },
+ "VirtualMachineScaleSetUpdatePublicIPAddressConfiguration": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The publicIP address configuration name."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdatePublicIPAddressConfigurationProperties"
+ }
+ },
+ "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration"
+ },
+ "VirtualMachineScaleSetPublicIPAddressConfigurationProperties": {
+ "properties": {
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The idle timeout of the public IP address."
+ },
+ "dnsSettings": {
+ "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings",
+ "description": "The dns settings to be applied on the publicIP addresses ."
+ },
+ "ipTags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetIpTag"
+ },
+ "description": "The list of IP tags associated with the public IP address."
+ },
+ "publicIPPrefix": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The PublicIPPrefix from which to allocate publicIP addresses."
+ },
+ "publicIPAddressVersion": {
+ "type": "string",
+ "description": "Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.",
+ "enum": [
+ "IPv4",
+ "IPv6"
+ ],
+ "x-ms-enum": {
+ "name": "IPVersion",
+ "modelAsString": true
+ }
+ },
+ "deleteOption": {
+ "type": "string",
+ "description": "Specify what happens to the public IP when the VM is deleted",
+ "enum": [
+ "Delete",
+ "Detach"
+ ],
+ "x-ms-enum": {
+ "name": "DeleteOptions",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration"
+ },
+ "VirtualMachineScaleSetUpdatePublicIPAddressConfigurationProperties": {
+ "properties": {
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The idle timeout of the public IP address."
+ },
+ "dnsSettings": {
+ "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings",
+ "description": "The dns settings to be applied on the publicIP addresses ."
+ },
+ "deleteOption": {
+ "type": "string",
+ "description": "Specify what happens to the public IP when the VM is deleted",
+ "enum": [
+ "Delete",
+ "Detach"
+ ],
+ "x-ms-enum": {
+ "name": "DeleteOptions",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration"
+ },
+ "VirtualMachineScaleSetNetworkProfile": {
+ "properties": {
+ "healthProbe": {
+ "$ref": "#/definitions/ApiEntityReference",
+ "description": "A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'."
+ },
+ "networkInterfaceConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfiguration"
+ },
+ "description": "The list of network configurations."
+ },
+ "networkApiVersion": {
+ "type": "string",
+ "description": "specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible'",
+ "enum": [
+ "2020-11-01"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkApiVersion",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Describes a virtual machine scale set network profile."
+ },
+ "VirtualMachineScaleSetUpdateNetworkProfile": {
+ "properties": {
+ "healthProbe": {
+ "$ref": "#/definitions/ApiEntityReference",
+ "description": "A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'."
+ },
+ "networkInterfaceConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateNetworkConfiguration"
+ },
+ "description": "The list of network configurations."
+ },
+ "networkApiVersion": {
+ "type": "string",
+ "description": "specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible'",
+ "enum": [
+ "2020-11-01"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkApiVersion",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Describes a virtual machine scale set network profile."
+ },
+ "VirtualMachineScaleSetExtensionProperties": {
+ "properties": {
+ "forceUpdateTag": {
+ "type": "string",
+ "description": "If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The name of the extension handler publisher."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "autoUpgradeMinorVersion": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true."
+ },
+ "enableAutomaticUpgrade": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available."
+ },
+ "settings": {
+ "type": "object",
+ "description": "Json formatted public settings for the extension."
+ },
+ "protectedSettings": {
+ "type": "object",
+ "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "provisionAfterExtensions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Collection of extension names after which this extension needs to be provisioned."
+ }
+ },
+ "description": "Describes the properties of a Virtual Machine Scale Set Extension."
+ },
+ "VirtualMachineScaleSetExtension": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the extension."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResourceReadOnly"
+ }
+ ],
+ "description": "Describes a Virtual Machine Scale Set Extension."
+ },
+ "VirtualMachineScaleSetExtensionUpdate": {
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the extension."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResourceReadOnly"
+ }
+ ],
+ "description": "Describes a Virtual Machine Scale Set Extension."
+ },
+ "VirtualMachineScaleSetExtensionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtension"
+ },
+ "description": "The list of VM scale set extensions."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of VM scale set extensions. Call ListNext() with this to fetch the next page of VM scale set extensions."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List VM scale set extension operation response."
+ },
+ "VirtualMachineScaleSetExtensionProfile": {
+ "properties": {
+ "extensions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtension"
+ },
+ "description": "The virtual machine scale set child extension resources."
+ },
+ "extensionsTimeBudget": {
+ "type": "string",
+ "description": "Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M).
Minimum api-version: 2020-06-01"
+ }
+ },
+ "description": "Describes a virtual machine scale set extension profile."
+ },
+ "VirtualMachineScaleSetVMProfile": {
+ "properties": {
+ "osProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetOSProfile",
+ "description": "Specifies the operating system settings for the virtual machines in the scale set."
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetStorageProfile",
+ "description": "Specifies the storage settings for the virtual machine disks."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetNetworkProfile",
+ "description": "Specifies properties of the network interfaces of the virtual machines in the scale set."
+ },
+ "securityProfile": {
+ "$ref": "#/definitions/SecurityProfile",
+ "description": "Specifies the Security related profile settings for the virtual machines in the scale set."
+ },
+ "diagnosticsProfile": {
+ "$ref": "#/definitions/DiagnosticsProfile",
+ "description": "Specifies the boot diagnostic settings state.
Minimum api-version: 2015-06-15."
+ },
+ "extensionProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile",
+ "description": "Specifies a collection of settings for extensions installed on virtual machines in the scale set."
+ },
+ "licenseType": {
+ "type": "string",
+ "description": "Specifies that the image or disk that is being used was licensed on-premises.
Possible values for Windows Server operating system are:
Windows_Client
Windows_Server
Possible values for Linux Server operating system are:
RHEL_BYOS (for RHEL)
SLES_BYOS (for SUSE)
For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)
[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)
Minimum api-version: 2015-06-15"
+ },
+ "priority": {
+ "$ref": "#/definitions/priority",
+ "description": "Specifies the priority for the virtual machines in the scale set.
Minimum api-version: 2017-10-30-preview"
+ },
+ "evictionPolicy": {
+ "$ref": "#/definitions/evictionPolicy",
+ "description": "Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set.
For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01.
For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview."
+ },
+ "billingProfile": {
+ "$ref": "#/definitions/BillingProfile",
+ "description": "Specifies the billing related details of a Azure Spot VMSS.
Minimum api-version: 2019-03-01."
+ },
+ "scheduledEventsProfile": {
+ "$ref": "#/definitions/ScheduledEventsProfile",
+ "description": "Specifies Scheduled Event related configurations."
+ },
+ "userData": {
+ "type": "string",
+ "description": "UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here.
Minimum api-version: 2021-03-01"
+ }
+ },
+ "description": "Describes a virtual machine scale set virtual machine profile."
+ },
+ "VirtualMachineScaleSetUpdateVMProfile": {
+ "properties": {
+ "osProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateOSProfile",
+ "description": "The virtual machine scale set OS profile."
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateStorageProfile",
+ "description": "The virtual machine scale set storage profile."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateNetworkProfile",
+ "description": "The virtual machine scale set network profile."
+ },
+ "securityProfile": {
+ "$ref": "#/definitions/SecurityProfile",
+ "description": "The virtual machine scale set Security profile"
+ },
+ "diagnosticsProfile": {
+ "$ref": "#/definitions/DiagnosticsProfile",
+ "description": "The virtual machine scale set diagnostics profile."
+ },
+ "extensionProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile",
+ "description": "The virtual machine scale set extension profile."
+ },
+ "licenseType": {
+ "type": "string",
+ "description": "The license type, which is for bring your own license scenario."
+ },
+ "billingProfile": {
+ "$ref": "#/definitions/BillingProfile",
+ "description": "Specifies the billing related details of a Azure Spot VMSS.
Minimum api-version: 2019-03-01."
+ },
+ "scheduledEventsProfile": {
+ "$ref": "#/definitions/ScheduledEventsProfile",
+ "description": "Specifies Scheduled Event related configurations."
+ },
+ "userData": {
+ "type": "string",
+ "description": "UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here.
Minimum api-version: 2021-03-01"
+ }
+ },
+ "description": "Describes a virtual machine scale set virtual machine profile."
+ },
+ "VirtualMachineScaleSetProperties": {
+ "properties": {
+ "upgradePolicy": {
+ "$ref": "#/definitions/UpgradePolicy",
+ "description": "The upgrade policy."
+ },
+ "automaticRepairsPolicy": {
+ "$ref": "#/definitions/AutomaticRepairsPolicy",
+ "description": "Policy for automatic repairs."
+ },
+ "virtualMachineProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMProfile",
+ "description": "The virtual machine profile."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "overprovision": {
+ "type": "boolean",
+ "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned."
+ },
+ "doNotRunExtensionsOnOverprovisionedVMs": {
+ "type": "boolean",
+ "description": "When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs."
+ },
+ "uniqueId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the ID which uniquely identifies a Virtual Machine Scale Set."
+ },
+ "singlePlacementGroup": {
+ "type": "boolean",
+ "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true."
+ },
+ "zoneBalance": {
+ "type": "boolean",
+ "description": "Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage."
+ },
+ "platformFaultDomainCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Fault Domain count for each placement group."
+ },
+ "proximityPlacementGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the proximity placement group that the virtual machine scale set should be assigned to.
Minimum api-version: 2018-04-01."
+ },
+ "hostGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the dedicated host group that the virtual machine scale set resides in.
Minimum api-version: 2020-06-01."
+ },
+ "additionalCapabilities": {
+ "$ref": "#/definitions/AdditionalCapabilities",
+ "description": "Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type."
+ },
+ "scaleInPolicy": {
+ "$ref": "#/definitions/ScaleInPolicy",
+ "description": "Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in."
+ },
+ "orchestrationMode": {
+ "$ref": "#/definitions/OrchestrationMode",
+ "description": "Specifies the orchestration mode for the virtual machine scale set."
+ }
+ },
+ "description": "Describes the properties of a Virtual Machine Scale Set."
+ },
+ "VirtualMachineScaleSetUpdateProperties": {
+ "properties": {
+ "upgradePolicy": {
+ "$ref": "#/definitions/UpgradePolicy",
+ "description": "The upgrade policy."
+ },
+ "automaticRepairsPolicy": {
+ "$ref": "#/definitions/AutomaticRepairsPolicy",
+ "description": "Policy for automatic repairs."
+ },
+ "virtualMachineProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateVMProfile",
+ "description": "The virtual machine profile."
+ },
+ "overprovision": {
+ "type": "boolean",
+ "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned."
+ },
+ "doNotRunExtensionsOnOverprovisionedVMs": {
+ "type": "boolean",
+ "description": "When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs."
+ },
+ "singlePlacementGroup": {
+ "type": "boolean",
+ "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true."
+ },
+ "additionalCapabilities": {
+ "$ref": "#/definitions/AdditionalCapabilities",
+ "description": "Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type."
+ },
+ "scaleInPolicy": {
+ "$ref": "#/definitions/ScaleInPolicy",
+ "description": "Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in."
+ },
+ "proximityPlacementGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the proximity placement group that the virtual machine scale set should be assigned to.
Minimum api-version: 2018-04-01."
+ }
+ },
+ "description": "Describes the properties of a Virtual Machine Scale Set."
+ },
+ "VirtualMachineScaleSet": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The virtual machine scale set sku."
+ },
+ "plan": {
+ "$ref": "#/definitions/Plan",
+ "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetProperties"
+ },
+ "identity": {
+ "$ref": "#/definitions/VirtualMachineScaleSetIdentity",
+ "description": "The identity of the virtual machine scale set, if configured."
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set"
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The extended location of the Virtual Machine Scale Set."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Describes a Virtual Machine Scale Set."
+ },
+ "VirtualMachineScaleSetVMReimageParameters": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/VirtualMachineReimageParameters"
+ }
+ ],
+ "description": "Describes a Virtual Machine Scale Set VM Reimage Parameters."
+ },
+ "VirtualMachineScaleSetReimageParameters": {
+ "properties": {
+ "instanceIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The virtual machine scale set instance ids. Omitting the virtual machine scale set instance ids will result in the operation being performed on all virtual machines in the virtual machine scale set."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMReimageParameters"
+ }
+ ],
+ "description": "Describes a Virtual Machine Scale Set VM Reimage Parameters."
+ },
+ "VirtualMachineScaleSetUpdate": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The virtual machine scale set sku."
+ },
+ "plan": {
+ "$ref": "#/definitions/Plan",
+ "description": "The purchase plan when deploying a virtual machine scale set from VM Marketplace images."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateProperties"
+ },
+ "identity": {
+ "$ref": "#/definitions/VirtualMachineScaleSetIdentity",
+ "description": "The identity of the virtual machine scale set, if configured."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Describes a Virtual Machine Scale Set."
+ },
+ "VirtualMachineScaleSetVMInstanceIDs": {
+ "properties": {
+ "instanceIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The virtual machine scale set instance ids. Omitting the virtual machine scale set instance ids will result in the operation being performed on all virtual machines in the virtual machine scale set."
+ }
+ },
+ "description": "Specifies a list of virtual machine instance IDs from the VM scale set."
+ },
+ "VirtualMachineScaleSetVMInstanceRequiredIDs": {
+ "properties": {
+ "instanceIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The virtual machine scale set instance ids."
+ }
+ },
+ "required": [
+ "instanceIds"
+ ],
+ "description": "Specifies a list of virtual machine instance IDs from the VM scale set."
+ },
+ "VirtualMachineStatusCodeCount": {
+ "properties": {
+ "code": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The instance view status code."
+ },
+ "count": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of instances having a particular status code."
+ }
+ },
+ "description": "The status code and count of the virtual machine scale set instance view status summary."
+ },
+ "VirtualMachineScaleSetInstanceViewStatusesSummary": {
+ "properties": {
+ "statusesSummary": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineStatusCodeCount"
+ },
+ "description": "The extensions information."
+ }
+ },
+ "description": "Instance view statuses summary for virtual machines of a virtual machine scale set."
+ },
+ "VirtualMachineScaleSetVMExtensionsSummary": {
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The extension name."
+ },
+ "statusesSummary": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineStatusCodeCount"
+ },
+ "description": "The extensions information."
+ }
+ },
+ "description": "Extensions summary for virtual machines of a virtual machine scale set."
+ },
+ "OrchestrationServiceSummary": {
+ "properties": {
+ "serviceName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the service.",
+ "enum": [
+ "AutomaticRepairs"
+ ],
+ "x-ms-enum": {
+ "name": "OrchestrationServiceNames",
+ "modelAsString": true
+ }
+ },
+ "serviceState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current state of the service.",
+ "enum": [
+ "NotRunning",
+ "Running",
+ "Suspended"
+ ],
+ "x-ms-enum": {
+ "name": "OrchestrationServiceState",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Summary for an orchestration service of a virtual machine scale set."
+ },
+ "VirtualMachineScaleSetInstanceView": {
+ "properties": {
+ "virtualMachine": {
+ "$ref": "#/definitions/VirtualMachineScaleSetInstanceViewStatusesSummary",
+ "readOnly": true,
+ "description": "The instance view status summary for the virtual machine scale set."
+ },
+ "extensions": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMExtensionsSummary"
+ },
+ "description": "The extensions information."
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ },
+ "orchestrationServices": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OrchestrationServiceSummary"
+ },
+ "description": "The orchestration services information."
+ }
+ },
+ "description": "The instance view of a virtual machine scale set."
+ },
+ "VirtualMachineScaleSetListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSet"
+ },
+ "description": "The list of virtual machine scale sets."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of Virtual Machine Scale Sets. Call ListNext() with this to fetch the next page of VMSS."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Virtual Machine operation response."
+ },
+ "VirtualMachineScaleSetListWithLinkResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSet"
+ },
+ "description": "The list of virtual machine scale sets."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of Virtual Machine Scale Sets. Call ListNext() with this to fetch the next page of Virtual Machine Scale Sets."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Virtual Machine operation response."
+ },
+ "VirtualMachineScaleSetSkuCapacity": {
+ "properties": {
+ "minimum": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "The minimum capacity."
+ },
+ "maximum": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "The maximum capacity that can be set."
+ },
+ "defaultCapacity": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "The default capacity."
+ },
+ "scaleType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The scale type applicable to the sku.",
+ "enum": [
+ "Automatic",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualMachineScaleSetSkuScaleType",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Describes scaling information of a sku."
+ },
+ "VirtualMachineScaleSetSku": {
+ "properties": {
+ "resourceType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of resource the sku applies to."
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "readOnly": true,
+ "description": "The Sku."
+ },
+ "capacity": {
+ "$ref": "#/definitions/VirtualMachineScaleSetSkuCapacity",
+ "readOnly": true,
+ "description": "Specifies the number of virtual machines in the scale set."
+ }
+ },
+ "description": "Describes an available virtual machine scale set sku."
+ },
+ "VirtualMachineScaleSetListSkusResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetSku"
+ },
+ "description": "The list of skus available for the virtual machine scale set."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of Virtual Machine Scale Set Skus. Call ListNext() with this to fetch the next page of VMSS Skus."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The Virtual Machine Scale Set List Skus operation response."
+ },
+ "RollbackStatusInfo": {
+ "properties": {
+ "successfullyRolledbackInstanceCount": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of instances which have been successfully rolled back."
+ },
+ "failedRolledbackInstanceCount": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of instances which failed to rollback."
+ },
+ "rollbackError": {
+ "$ref": "#/definitions/ApiError",
+ "readOnly": true,
+ "description": "Error details if OS rollback failed."
+ }
+ },
+ "description": "Information about rollback on failed VM instances after a OS Upgrade operation."
+ },
+ "UpgradeOperationHistoryStatus": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Code indicating the current status of the upgrade.",
+ "enum": [
+ "RollingForward",
+ "Cancelled",
+ "Completed",
+ "Faulted"
+ ],
+ "x-ms-enum": {
+ "name": "UpgradeState",
+ "modelAsString": false
+ }
+ },
+ "startTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "Start time of the upgrade."
+ },
+ "endTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "End time of the upgrade."
+ }
+ },
+ "description": "Information about the current running state of the overall upgrade."
+ },
+ "UpgradeOperationHistoricalStatusInfoProperties": {
+ "properties": {
+ "runningStatus": {
+ "$ref": "#/definitions/UpgradeOperationHistoryStatus",
+ "readOnly": true,
+ "description": "Information about the overall status of the upgrade operation."
+ },
+ "progress": {
+ "$ref": "#/definitions/RollingUpgradeProgressInfo",
+ "readOnly": true,
+ "description": "Counts of the VMs in each state."
+ },
+ "error": {
+ "$ref": "#/definitions/ApiError",
+ "readOnly": true,
+ "description": "Error Details for this upgrade if there are any."
+ },
+ "startedBy": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Invoker of the Upgrade Operation",
+ "enum": [
+ "Unknown",
+ "User",
+ "Platform"
+ ],
+ "x-ms-enum": {
+ "name": "UpgradeOperationInvoker",
+ "modelAsString": false
+ }
+ },
+ "targetImageReference": {
+ "$ref": "#/definitions/ImageReference",
+ "readOnly": true,
+ "description": "Image Reference details"
+ },
+ "rollbackInfo": {
+ "$ref": "#/definitions/RollbackStatusInfo",
+ "readOnly": true,
+ "description": "Information about OS rollback if performed"
+ }
+ },
+ "description": "Describes each OS upgrade on the Virtual Machine Scale Set."
+ },
+ "UpgradeOperationHistoricalStatusInfo": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpgradeOperationHistoricalStatusInfoProperties",
+ "readOnly": true,
+ "description": "Information about the properties of the upgrade operation."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource location"
+ }
+ },
+ "description": "Virtual Machine Scale Set OS Upgrade History operation response."
+ },
+ "VirtualMachineScaleSetListOSUpgradeHistory": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UpgradeOperationHistoricalStatusInfo"
+ },
+ "description": "The list of OS upgrades performed on the virtual machine scale set."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of OS Upgrade History. Call ListNext() with this to fetch the next page of history of upgrades."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "List of Virtual Machine Scale Set OS Upgrade History operation response."
+ },
+ "VirtualMachineScaleSetVMProperties": {
+ "properties": {
+ "latestModelApplied": {
+ "readOnly": true,
+ "type": "boolean",
+ "description": "Specifies whether the latest model has been applied to the virtual machine."
+ },
+ "vmId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Azure VM unique ID."
+ },
+ "instanceView": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceView",
+ "readOnly": true,
+ "description": "The virtual machine instance view."
+ },
+ "hardwareProfile": {
+ "$ref": "#/definitions/HardwareProfile",
+ "description": "Specifies the hardware settings for the virtual machine."
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/StorageProfile",
+ "description": "Specifies the storage settings for the virtual machine disks."
+ },
+ "additionalCapabilities": {
+ "$ref": "#/definitions/AdditionalCapabilities",
+ "description": "Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type."
+ },
+ "osProfile": {
+ "$ref": "#/definitions/OSProfile",
+ "description": "Specifies the operating system settings for the virtual machine."
+ },
+ "securityProfile": {
+ "$ref": "#/definitions/SecurityProfile",
+ "description": "Specifies the Security related profile settings for the virtual machine."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/NetworkProfile",
+ "description": "Specifies the network interfaces of the virtual machine."
+ },
+ "networkProfileConfiguration": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMNetworkProfileConfiguration",
+ "description": "Specifies the network profile configuration of the virtual machine."
+ },
+ "diagnosticsProfile": {
+ "$ref": "#/definitions/DiagnosticsProfile",
+ "description": "Specifies the boot diagnostic settings state.
Minimum api-version: 2015-06-15."
+ },
+ "availabilitySet": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview).
For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates)
Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "licenseType": {
+ "type": "string",
+ "description": "Specifies that the image or disk that is being used was licensed on-premises.
Possible values for Windows Server operating system are:
Windows_Client
Windows_Server
Possible values for Linux Server operating system are:
RHEL_BYOS (for RHEL)
SLES_BYOS (for SUSE)
For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)
[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)
Minimum api-version: 2015-06-15"
+ },
+ "modelDefinitionApplied": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies whether the model applied to the virtual machine is the model of the virtual machine scale set or the customized model for the virtual machine."
+ },
+ "protectionPolicy": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMProtectionPolicy",
+ "description": "Specifies the protection policy of the virtual machine."
+ },
+ "userData": {
+ "type": "string",
+ "description": "UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here.
Minimum api-version: 2021-03-01"
+ }
+ },
+ "description": "Describes the properties of a virtual machine scale set virtual machine."
+ },
+ "VirtualMachineScaleSetVM": {
+ "properties": {
+ "instanceId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The virtual machine instance ID."
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "readOnly": true,
+ "description": "The virtual machine SKU."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetVMProperties"
+ },
+ "plan": {
+ "$ref": "#/definitions/Plan",
+ "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**."
+ },
+ "resources": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ },
+ "description": "The virtual machine child extension resources."
+ },
+ "zones": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The virtual machine zones."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Describes a virtual machine scale set virtual machine."
+ },
+ "VirtualMachineScaleSetVMInstanceView": {
+ "properties": {
+ "platformUpdateDomain": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Update Domain count."
+ },
+ "platformFaultDomain": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Fault Domain count."
+ },
+ "rdpThumbPrint": {
+ "type": "string",
+ "description": "The Remote desktop certificate thumbprint."
+ },
+ "vmAgent": {
+ "$ref": "#/definitions/VirtualMachineAgentInstanceView",
+ "description": "The VM Agent running on the virtual machine."
+ },
+ "maintenanceRedeployStatus": {
+ "$ref": "#/definitions/MaintenanceRedeployStatus",
+ "description": "The Maintenance Operation status on the virtual machine."
+ },
+ "disks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskInstanceView"
+ },
+ "description": "The disks information."
+ },
+ "extensions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineExtensionInstanceView"
+ },
+ "description": "The extensions information."
+ },
+ "vmHealth": {
+ "readOnly": true,
+ "$ref": "#/definitions/VirtualMachineHealthStatus",
+ "description": "The health status for the VM."
+ },
+ "bootDiagnostics": {
+ "$ref": "#/definitions/BootDiagnosticsInstanceView",
+ "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.
You can easily view the output of your console log.
Azure also enables you to see a screenshot of the VM from the hypervisor."
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ },
+ "assignedHost": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource id of the dedicated host, on which the virtual machine is allocated through automatic placement, when the virtual machine is associated with a dedicated host group that has automatic placement enabled.
Minimum api-version: 2020-06-01."
+ },
+ "placementGroupId": {
+ "type": "string",
+ "description": "The placement group in which the VM is running. If the VM is deallocated it will not have a placementGroupId."
+ }
+ },
+ "description": "The instance view of a virtual machine scale set VM."
+ },
+ "VirtualMachineScaleSetVMNetworkProfileConfiguration": {
+ "properties": {
+ "networkInterfaceConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfiguration"
+ },
+ "description": "The list of network configurations."
+ }
+ },
+ "description": "Describes a virtual machine scale set VM network profile."
+ },
+ "VirtualMachineScaleSetVMProtectionPolicy": {
+ "properties": {
+ "protectFromScaleIn": {
+ "type": "boolean",
+ "description": "Indicates that the virtual machine scale set VM shouldn't be considered for deletion during a scale-in operation."
+ },
+ "protectFromScaleSetActions": {
+ "type": "boolean",
+ "description": "Indicates that model updates or actions (including scale-in) initiated on the virtual machine scale set should not be applied to the virtual machine scale set VM."
+ }
+ },
+ "description": "The protection policy of a virtual machine scale set VM."
+ },
+ "ScheduledEventsProfile": {
+ "type": "object",
+ "properties": {
+ "terminateNotificationProfile": {
+ "$ref": "#/definitions/TerminateNotificationProfile",
+ "description": "Specifies Terminate Scheduled Event related configurations."
+ }
+ }
+ },
+ "TerminateNotificationProfile": {
+ "type": "object",
+ "properties": {
+ "notBeforeTimeout": {
+ "type": "string",
+ "description": "Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M)"
+ },
+ "enable": {
+ "type": "boolean",
+ "description": "Specifies whether the Terminate Scheduled event is enabled or disabled."
+ }
+ }
+ },
+ "VirtualMachineHealthStatus": {
+ "properties": {
+ "status": {
+ "readOnly": true,
+ "$ref": "#/definitions/InstanceViewStatus",
+ "description": "The health status information for the VM."
+ }
+ },
+ "description": "The health status of the VM."
+ },
+ "VirtualMachineScaleSetVMListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVM"
+ },
+ "description": "The list of virtual machine scale sets VMs."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of Virtual Machine Scale Set VMs. Call ListNext() with this to fetch the next page of VMSS VMs"
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Virtual Machine Scale Set VMs operation response."
+ },
+ "RollingUpgradeStatusInfo": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RollingUpgradeStatusInfoProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "The status of the latest virtual machine scale set rolling upgrade."
+ },
+ "RollingUpgradeStatusInfoProperties": {
+ "properties": {
+ "policy": {
+ "readOnly": true,
+ "$ref": "#/definitions/RollingUpgradePolicy",
+ "description": "The rolling upgrade policies applied for this upgrade."
+ },
+ "runningStatus": {
+ "readOnly": true,
+ "$ref": "#/definitions/RollingUpgradeRunningStatus",
+ "description": "Information about the current running state of the overall upgrade."
+ },
+ "progress": {
+ "readOnly": true,
+ "$ref": "#/definitions/RollingUpgradeProgressInfo",
+ "description": "Information about the number of virtual machine instances in each upgrade state."
+ },
+ "error": {
+ "readOnly": true,
+ "$ref": "#/definitions/ApiError",
+ "description": "Error details for this upgrade, if there are any."
+ }
+ },
+ "description": "The status of the latest virtual machine scale set rolling upgrade."
+ },
+ "RollingUpgradeRunningStatus": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Code indicating the current status of the upgrade.",
+ "enum": [
+ "RollingForward",
+ "Cancelled",
+ "Completed",
+ "Faulted"
+ ],
+ "x-ms-enum": {
+ "name": "RollingUpgradeStatusCode",
+ "modelAsString": false
+ }
+ },
+ "startTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "Start time of the upgrade."
+ },
+ "lastAction": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The last action performed on the rolling upgrade.",
+ "enum": [
+ "Start",
+ "Cancel"
+ ],
+ "x-ms-enum": {
+ "name": "RollingUpgradeActionType",
+ "modelAsString": false
+ }
+ },
+ "lastActionTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "Last action time of the upgrade."
+ }
+ },
+ "description": "Information about the current running state of the overall upgrade."
+ },
+ "RollingUpgradeProgressInfo": {
+ "properties": {
+ "successfulInstanceCount": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of instances that have been successfully upgraded."
+ },
+ "failedInstanceCount": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of instances that have failed to be upgraded successfully."
+ },
+ "inProgressInstanceCount": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of instances that are currently being upgraded."
+ },
+ "pendingInstanceCount": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of instances that have not yet begun to be upgraded."
+ }
+ },
+ "description": "Information about the number of virtual machine instances in each upgrade state."
+ },
+ "ApiErrorBase": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error base."
+ },
+ "InnerError": {
+ "properties": {
+ "exceptiontype": {
+ "type": "string",
+ "description": "The exception type."
+ },
+ "errordetail": {
+ "type": "string",
+ "description": "The internal error message or exception dump."
+ }
+ },
+ "description": "Inner error details."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ApiError"
+ }
+ },
+ "description": "An error response from the Compute service."
+ },
+ "ApiError": {
+ "properties": {
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiErrorBase"
+ },
+ "description": "The Api error details"
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError",
+ "description": "The Api inner error"
+ },
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error."
+ },
+ "ProxyResource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ }
+ },
+ "description": "The resource model definition for an Azure Resource Manager proxy resource. It will not have tags and a location",
+ "x-ms-azure-resource": true
+ },
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "UpdateResource": {
+ "description": "The Update Resource model definition.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ }
+ },
+ "SubResource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource Id"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "SubResourceReadOnly": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ExtendedLocationType": {
+ "type": "string",
+ "description": "The type of extendedLocation.",
+ "enum": [
+ "EdgeZone"
+ ],
+ "x-ms-enum": {
+ "name": "ExtendedLocationTypes",
+ "modelAsString": true
+ }
+ },
+ "ExtendedLocation": {
+ "description": "The complex type of the extended location.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the extended location."
+ },
+ "type": {
+ "$ref": "#/definitions/ExtendedLocationType",
+ "description": "The type of the extended location."
+ }
+ }
+ },
+ "RecoveryWalkResponse": {
+ "properties": {
+ "walkPerformed": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Whether the recovery walk was performed"
+ },
+ "nextPlatformUpdateDomain": {
+ "type": "integer",
+ "readOnly": true,
+ "description": "The next update domain that needs to be walked. Null means walk spanning all update domains has been completed"
+ }
+ },
+ "description": "Response after calling a manual recovery walk"
+ },
+ "RequestRateByIntervalInput": {
+ "properties": {
+ "intervalLength": {
+ "type": "string",
+ "description": "Interval value in minutes used to create LogAnalytics call rate logs.",
+ "enum": [
+ "ThreeMins",
+ "FiveMins",
+ "ThirtyMins",
+ "SixtyMins"
+ ],
+ "x-ms-enum": {
+ "name": "IntervalInMins",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "intervalLength"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/LogAnalyticsInputBase"
+ }
+ ],
+ "description": "Api request input for LogAnalytics getRequestRateByInterval Api."
+ },
+ "ThrottledRequestsInput": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/LogAnalyticsInputBase"
+ }
+ ],
+ "description": "Api request input for LogAnalytics getThrottledRequests Api."
+ },
+ "LogAnalyticsInputBase": {
+ "properties": {
+ "blobContainerSasUri": {
+ "type": "string",
+ "description": "SAS Uri of the logging blob container to which LogAnalytics Api writes output logs to."
+ },
+ "fromTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "From time of the query"
+ },
+ "toTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "To time of the query"
+ },
+ "groupByThrottlePolicy": {
+ "type": "boolean",
+ "description": "Group query result by Throttle Policy applied."
+ },
+ "groupByOperationName": {
+ "type": "boolean",
+ "description": "Group query result by Operation Name."
+ },
+ "groupByResourceName": {
+ "type": "boolean",
+ "description": "Group query result by Resource Name."
+ },
+ "groupByClientApplicationId": {
+ "type": "boolean",
+ "description": "Group query result by Client Application ID."
+ },
+ "groupByUserAgent": {
+ "type": "boolean",
+ "description": "Group query result by User Agent."
+ }
+ },
+ "required": [
+ "blobContainerSasUri",
+ "fromTime",
+ "toTime"
+ ],
+ "description": "Api input base class for LogAnalytics Api."
+ },
+ "LogAnalyticsOperationResult": {
+ "properties": {
+ "properties": {
+ "readOnly": true,
+ "$ref": "#/definitions/LogAnalyticsOutput",
+ "description": "LogAnalyticsOutput"
+ }
+ },
+ "description": "LogAnalytics operation status response"
+ },
+ "LogAnalyticsOutput": {
+ "properties": {
+ "output": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Output file Uri path to blob container."
+ }
+ },
+ "description": "LogAnalytics output properties"
+ },
+ "VMScaleSetConvertToSinglePlacementGroupInput": {
+ "properties": {
+ "activePlacementGroupId": {
+ "type": "string",
+ "description": "Id of the placement group in which you want future virtual machine instances to be placed. To query placement group Id, please use Virtual Machine Scale Set VMs - Get API. If not provided, the platform will choose one with maximum number of virtual machine instances."
+ }
+ }
+ },
+ "OrchestrationServiceStateInput": {
+ "properties": {
+ "serviceName": {
+ "type": "string",
+ "description": "The name of the service.",
+ "enum": [
+ "AutomaticRepairs"
+ ],
+ "x-ms-enum": {
+ "name": "OrchestrationServiceNames",
+ "modelAsString": true
+ }
+ },
+ "action": {
+ "type": "string",
+ "description": "The action to be performed.",
+ "enum": [
+ "Resume",
+ "Suspend"
+ ],
+ "x-ms-enum": {
+ "name": "OrchestrationServiceStateAction",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "The input for OrchestrationServiceState",
+ "required": [
+ "serviceName",
+ "action"
+ ]
+ },
+ "PatchSettings": {
+ "properties": {
+ "patchMode": {
+ "type": "string",
+ "description": "Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.
Possible values are:
**Manual** - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false
**AutomaticByOS** - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true.
**AutomaticByPlatform** - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true ",
+ "enum": [
+ "Manual",
+ "AutomaticByOS",
+ "AutomaticByPlatform"
+ ],
+ "x-ms-enum": {
+ "name": "WindowsVMGuestPatchMode",
+ "modelAsString": true
+ }
+ },
+ "enableHotpatching": {
+ "type": "boolean",
+ "description": "Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'."
+ },
+ "assessmentMode": {
+ "type": "string",
+ "description": "Specifies the mode of VM Guest patch assessment for the IaaS virtual machine.
Possible values are:
**ImageDefault** - You control the timing of patch assessments on a virtual machine.
**AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. ",
+ "enum": [
+ "ImageDefault",
+ "AutomaticByPlatform"
+ ],
+ "x-ms-enum": {
+ "name": "WindowsPatchAssessmentMode",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Specifies settings related to VM Guest Patching on Windows."
+ },
+ "LinuxPatchSettings": {
+ "properties": {
+ "patchMode": {
+ "type": "string",
+ "description": "Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.
Possible values are:
**ImageDefault** - The virtual machine's default patching configuration is used.
**AutomaticByPlatform** - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true",
+ "enum": [
+ "ImageDefault",
+ "AutomaticByPlatform"
+ ],
+ "x-ms-enum": {
+ "name": "LinuxVMGuestPatchMode",
+ "modelAsString": true
+ }
+ },
+ "assessmentMode": {
+ "type": "string",
+ "description": "Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine.
Possible values are:
**ImageDefault** - You control the timing of patch assessments on a virtual machine.
**AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.",
+ "enum": [
+ "ImageDefault",
+ "AutomaticByPlatform"
+ ],
+ "x-ms-enum": {
+ "name": "LinuxPatchAssessmentMode",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Specifies settings related to VM Guest Patching on Linux."
+ },
+ "VirtualMachinePatchStatus": {
+ "properties": {
+ "availablePatchSummary": {
+ "$ref": "#/definitions/AvailablePatchSummary",
+ "description": "The available patch summary of the latest assessment operation for the virtual machine."
+ },
+ "lastPatchInstallationSummary": {
+ "$ref": "#/definitions/LastPatchInstallationSummary",
+ "description": "The installation summary of the latest installation operation for the virtual machine."
+ },
+ "configurationStatuses": {
+ "description": "The enablement status of the specified patchMode",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ }
+ }
+ },
+ "description": "The status of virtual machine patch operations."
+ },
+ "AvailablePatchSummary": {
+ "properties": {
+ "status": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The overall success or failure status of the operation. It remains \"InProgress\" until the operation completes. At that point it will become \"Unknown\", \"Failed\", \"Succeeded\", or \"CompletedWithWarnings.\"",
+ "enum": [
+ "Unknown",
+ "InProgress",
+ "Failed",
+ "Succeeded",
+ "CompletedWithWarnings"
+ ],
+ "x-ms-enum": {
+ "name": "PatchOperationStatus",
+ "modelAsString": true
+ }
+ },
+ "assessmentActivityId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs."
+ },
+ "rebootPending": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "The overall reboot status of the VM. It will be true when partially installed patches require a reboot to complete installation but the reboot has not yet occurred."
+ },
+ "criticalAndSecurityPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of critical or security patches that have been detected as available and not yet installed."
+ },
+ "otherPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of all available patches excluding critical and security."
+ },
+ "startTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The UTC timestamp when the operation began."
+ },
+ "lastModifiedTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The UTC timestamp when the operation began."
+ },
+ "error": {
+ "$ref": "#/definitions/ApiError",
+ "readOnly": true,
+ "description": "The errors that were encountered during execution of the operation. The details array contains the list of them."
+ }
+ },
+ "description": "Describes the properties of an virtual machine instance view for available patch summary."
+ },
+ "LastPatchInstallationSummary": {
+ "properties": {
+ "status": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The overall success or failure status of the operation. It remains \"InProgress\" until the operation completes. At that point it will become \"Unknown\", \"Failed\", \"Succeeded\", or \"CompletedWithWarnings.\"",
+ "enum": [
+ "Unknown",
+ "InProgress",
+ "Failed",
+ "Succeeded",
+ "CompletedWithWarnings"
+ ],
+ "x-ms-enum": {
+ "name": "PatchOperationStatus",
+ "modelAsString": true
+ }
+ },
+ "installationActivityId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs."
+ },
+ "maintenanceWindowExceeded": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Describes whether the operation ran out of time before it completed all its intended actions"
+ },
+ "notSelectedPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of all available patches but not going to be installed because it didn't match a classification or inclusion list entry."
+ },
+ "excludedPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of all available patches but excluded explicitly by a customer-specified exclusion list match."
+ },
+ "pendingPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of all available patches expected to be installed over the course of the patch installation operation."
+ },
+ "installedPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The count of patches that successfully installed."
+ },
+ "failedPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The count of patches that failed installation."
+ },
+ "startTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The UTC timestamp when the operation began."
+ },
+ "lastModifiedTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The UTC timestamp when the operation began."
+ },
+ "error": {
+ "$ref": "#/definitions/ApiError",
+ "readOnly": true,
+ "description": "The errors that were encountered during execution of the operation. The details array contains the list of them."
+ }
+ },
+ "description": "Describes the properties of the last installed patch summary."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateACustomImageScaleSetFromAnUnmanagedGeneralizedOsImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateACustomImageScaleSetFromAnUnmanagedGeneralizedOsImage.json
new file mode 100644
index 000000000000..90b20e4d23a9
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateACustomImageScaleSetFromAnUnmanagedGeneralizedOsImage.json
@@ -0,0 +1,202 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "osDisk": {
+ "caching": "ReadWrite",
+ "image": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/{existing-generalized-os-image-blob-name}.vhd"
+ },
+ "createOption": "FromImage",
+ "name": "osDisk"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d6e9ab29-f8c9-4792-978c-ae2c07b98f17",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "image": {
+ "uri": "https://{existing-storage-account-name}.blob.core.windows.net/system/Microsoft.Compute/Images/vhds/{existing-generalized-os-image-blob-name}.vhd"
+ },
+ "createOption": "FromImage",
+ "name": "osDisk"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d6e9ab29-f8c9-4792-978c-ae2c07b98f17",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "image": {
+ "uri": "https://{existing-storage-account-name}.blob.core.windows.net/system/Microsoft.Compute/Images/vhds/{existing-generalized-os-image-blob-name}.vhd"
+ },
+ "createOption": "FromImage",
+ "name": "osDisk"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateACustomImageVmFromAnUnmanagedGeneralizedOsImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateACustomImageVmFromAnUnmanagedGeneralizedOsImage.json
new file mode 100644
index 000000000000..b98f40727aff
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateACustomImageVmFromAnUnmanagedGeneralizedOsImage.json
@@ -0,0 +1,145 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "{vm-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "osDisk": {
+ "name": "myVMosdisk",
+ "image": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/{existing-generalized-os-image-blob-name}.vhd"
+ },
+ "osType": "Windows",
+ "createOption": "FromImage",
+ "caching": "ReadWrite",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/myDisk.vhd"
+ }
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "osDisk": {
+ "name": "myVMosdisk",
+ "image": {
+ "uri": "https://{existing-storage-account-name}.blob.core.windows.net/system/Microsoft.Compute/Images/vhds/{existing-generalized-os-image-blob-name}.vhd"
+ },
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "osType": "Windows",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk.vhd"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "926cd555-a07c-4ff5-b214-4aa4dd09d79b",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "osDisk": {
+ "name": "myVMosdisk",
+ "image": {
+ "uri": "https://{existing-storage-account-name}.blob.core.windows.net/system/Microsoft.Compute/Images/vhds/{existing-generalized-os-image-blob-name}.vhd"
+ },
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "osType": "Windows",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk.vhd"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "926cd555-a07c-4ff5-b214-4aa4dd09d79b",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateALinuxVmWithPatchSettingAssessmentModeOfImageDefault.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateALinuxVmWithPatchSettingAssessmentModeOfImageDefault.json
new file mode 100644
index 000000000000..dae6769a8129
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateALinuxVmWithPatchSettingAssessmentModeOfImageDefault.json
@@ -0,0 +1,163 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "16.04-LTS",
+ "publisher": "Canonical",
+ "version": "latest",
+ "offer": "UbuntuServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}",
+ "linuxConfiguration": {
+ "provisionVMAgent": true,
+ "patchSettings": {
+ "assessmentMode": "ImageDefault"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "provisionVMAgent": true,
+ "patchSettings": {
+ "assessmentMode": "ImageDefault"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "16.04-LTS",
+ "publisher": "Canonical",
+ "version": "latest",
+ "offer": "UbuntuServer"
+ },
+ "osDisk": {
+ "osType": "Linux",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "provisionVMAgent": true,
+ "patchSettings": {
+ "assessmentMode": "ImageDefault"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "16.04-LTS",
+ "publisher": "Canonical",
+ "version": "latest",
+ "offer": "UbuntuServer"
+ },
+ "osDisk": {
+ "osType": "Linux",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateALinuxVmWithPatchSettingModeOfImageDefault.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateALinuxVmWithPatchSettingModeOfImageDefault.json
new file mode 100644
index 000000000000..ba98cf2f2a47
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateALinuxVmWithPatchSettingModeOfImageDefault.json
@@ -0,0 +1,163 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "16.04-LTS",
+ "publisher": "Canonical",
+ "version": "latest",
+ "offer": "UbuntuServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}",
+ "linuxConfiguration": {
+ "provisionVMAgent": true,
+ "patchSettings": {
+ "patchMode": "ImageDefault"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "provisionVMAgent": true,
+ "patchSettings": {
+ "patchMode": "ImageDefault"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "16.04-LTS",
+ "publisher": "Canonical",
+ "version": "latest",
+ "offer": "UbuntuServer"
+ },
+ "osDisk": {
+ "osType": "Linux",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "provisionVMAgent": true,
+ "patchSettings": {
+ "patchMode": "ImageDefault"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "16.04-LTS",
+ "publisher": "Canonical",
+ "version": "latest",
+ "offer": "UbuntuServer"
+ },
+ "osDisk": {
+ "osType": "Linux",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateALinuxVmWithPatchSettingModesOfAutomaticByPlatform.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateALinuxVmWithPatchSettingModesOfAutomaticByPlatform.json
new file mode 100644
index 000000000000..b6392794ed92
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateALinuxVmWithPatchSettingModesOfAutomaticByPlatform.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "16.04-LTS",
+ "publisher": "Canonical",
+ "version": "latest",
+ "offer": "UbuntuServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}",
+ "linuxConfiguration": {
+ "provisionVMAgent": true,
+ "patchSettings": {
+ "patchMode": "AutomaticByPlatform",
+ "assessmentMode": "AutomaticByPlatform"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "provisionVMAgent": true,
+ "patchSettings": {
+ "patchMode": "AutomaticByPlatform",
+ "assessmentMode": "AutomaticByPlatform"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "16.04-LTS",
+ "publisher": "Canonical",
+ "version": "latest",
+ "offer": "UbuntuServer"
+ },
+ "osDisk": {
+ "osType": "Linux",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "provisionVMAgent": true,
+ "patchSettings": {
+ "patchMode": "AutomaticByPlatform",
+ "assessmentMode": "AutomaticByPlatform"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "16.04-LTS",
+ "publisher": "Canonical",
+ "version": "latest",
+ "offer": "UbuntuServer"
+ },
+ "osDisk": {
+ "osType": "Linux",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAPlatformImageScaleSetWithUnmanagedOsDisks.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAPlatformImageScaleSetWithUnmanagedOsDisks.json
new file mode 100644
index 000000000000..630f5f90eccc
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAPlatformImageScaleSetWithUnmanagedOsDisks.json
@@ -0,0 +1,222 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "osDisk",
+ "vhdContainers": [
+ "http://{existing-storage-account-name-0}.blob.core.windows.net/vhdContainer",
+ "http://{existing-storage-account-name-1}.blob.core.windows.net/vhdContainer",
+ "http://{existing-storage-account-name-2}.blob.core.windows.net/vhdContainer",
+ "http://{existing-storage-account-name-3}.blob.core.windows.net/vhdContainer",
+ "http://{existing-storage-account-name-4}.blob.core.windows.net/vhdContainer"
+ ]
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "77b7df9a-32fe-45e3-8911-60ac9c9b9c64",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "vhdContainers": [
+ "http://{existing-storage-account-name}.blob.core.windows.net/vhds"
+ ],
+ "name": "osDisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "77b7df9a-32fe-45e3-8911-60ac9c9b9c64",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "vhdContainers": [
+ "http://{existing-storage-account-name}.blob.core.windows.net/vhds"
+ ],
+ "name": "osDisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAPlatformImageVmWithUnmanagedOsAndDataDisks.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAPlatformImageVmWithUnmanagedOsAndDataDisks.json
new file mode 100644
index 000000000000..9cb9446d20e3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAPlatformImageVmWithUnmanagedOsAndDataDisks.json
@@ -0,0 +1,213 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "{vm-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/myDisk.vhd"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ },
+ "dataDisks": [
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0,
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/myDisk0.vhd"
+ }
+ },
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 1,
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/myDisk1.vhd"
+ }
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk.vhd"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "name": "dataDisk0",
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "caching": "None",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk0.vhd"
+ },
+ "lun": 0
+ },
+ {
+ "name": "dataDisk1",
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "caching": "None",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk1.vhd"
+ },
+ "lun": 1
+ }
+ ]
+ },
+ "vmId": "5230a749-2f68-4830-900b-702182d32e63",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk.vhd"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "name": "dataDisk0",
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "caching": "None",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk0.vhd"
+ },
+ "lun": 0
+ },
+ {
+ "name": "dataDisk1",
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "caching": "None",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk1.vhd"
+ },
+ "lun": 1
+ }
+ ]
+ },
+ "vmId": "5230a749-2f68-4830-900b-702182d32e63",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateARestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateARestorePoint.json
new file mode 100644
index 000000000000..3053bee70ba9
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateARestorePoint.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "restorePointCollectionName": "rpcName",
+ "restorePointName": "rpName",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "excludeDisks": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm8768_disk2_fe6ffde4f69b491ca33fb984d5bcd89f"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "rpName",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName/restorePoints/rpName",
+ "sourceMetadata": {
+ "vmId": "76d6541e-80bd-4dc1-932b-3cae4cfb80e7",
+ "hardwareProfile": {
+ "vmSize": "Standard_B1s"
+ },
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "name": "testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f",
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f"
+ },
+ "diskRestorePoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName/restorePoints/rpName/diskRestorePoints/testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f_22b4bdfe-6c54-4f72-84d8-85d8860f0c57"
+ }
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "name": "testingexcludedisk_DataDisk_1",
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/userdata/providers/Microsoft.Compute/disks/testingexcludedisk_DataDisk_1"
+ },
+ "diskRestorePoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/userdata/providers/Microsoft.Compute/restorePointCollections/mynewrpc/restorePoints/restorepointtwo/diskRestorePoints/testingexcludedisk_DataDisk_1_68785190-1acb-4d5e-a8ae-705b45f3dca5"
+ }
+ }
+ ]
+ },
+ "osProfile": {
+ "computerName": "computerName",
+ "adminUsername": "admin",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ },
+ "secrets": [],
+ "allowExtensionOperations": true,
+ "requireGuestProvisionSignal": true
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ }
+ },
+ "provisioningState": "Succeeded",
+ "consistencyMode": "ApplicationConsistent",
+ "provisioningDetails": {
+ "creationTime": "2021-01-27T20:35:05.8401519+00:00",
+ "totalUsedSizeInBytes": 10835349504,
+ "statusCode": 0,
+ "statusMessage": "{\"jobMessage\":\"\",\"messageStr\":\"1/27/2021 8:35:56 PM , snapshotCreator=guestExtension, hostStatusCodePreSnapshot=200, Plugin enable Succeeded (command: Snapshot) Snapshot command completed \",\"snapshotConsistency\":2}"
+ },
+ "excludeDisks": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm8768_disk2_fe6ffde4f69b491ca33fb984d5bcd89f"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetFromACustomImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetFromACustomImage.json
new file mode 100644
index 000000000000..dc1ca51f3c6a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetFromACustomImage.json
@@ -0,0 +1,204 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetFromAGeneralizedSharedImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetFromAGeneralizedSharedImage.json
new file mode 100644
index 000000000000..6f88913a3616
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetFromAGeneralizedSharedImage.json
@@ -0,0 +1,204 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetFromASpecializedSharedImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetFromASpecializedSharedImage.json
new file mode 100644
index 000000000000..2f8f261ccd83
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetFromASpecializedSharedImage.json
@@ -0,0 +1,183 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetFromWithFpgaNetworkInterface.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetFromWithFpgaNetworkInterface.json
new file mode 100644
index 000000000000..8f42a47d4e05
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetFromWithFpgaNetworkInterface.json
@@ -0,0 +1,271 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "{fpgaNic-Name}",
+ "properties": {
+ "primary": false,
+ "enableAcceleratedNetworking": false,
+ "enableIPForwarding": false,
+ "enableFpga": true,
+ "ipConfigurations": [
+ {
+ "name": "{fpgaNic-Name}",
+ "properties": {
+ "primary": true,
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ },
+ {
+ "name": "{fpgaNic-Name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": false,
+ "enableFpga": true,
+ "ipConfigurations": [
+ {
+ "name": "{fpgaNic-Name}",
+ "properties": {
+ "primary": true,
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ },
+ {
+ "name": "{fpgaNic-Name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": false,
+ "enableFpga": true,
+ "ipConfigurations": [
+ {
+ "name": "{fpgaNic-Name}",
+ "properties": {
+ "primary": true,
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithAMarketplaceImagePlan.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithAMarketplaceImagePlan.json
new file mode 100644
index 000000000000..4247a34d10b8
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithAMarketplaceImagePlan.json
@@ -0,0 +1,230 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows2016",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "windows-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "windows-data-science-vm",
+ "name": "windows2016"
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithAnAzureApplicationGateway.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithAnAzureApplicationGateway.json
new file mode 100644
index 000000000000..e47666649a77
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithAnAzureApplicationGateway.json
@@ -0,0 +1,230 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "applicationGatewayBackendAddressPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationGateways/{existing-application-gateway-name}/backendAddressPools/{existing-backend-address-pool-name}"
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "a0134477-b9d9-484b-b0e3-205c1c089ffa",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "applicationGatewayBackendAddressPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationGateways/nsgExistingAppGw/backendAddressPools/appGatewayBackendPool"
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "a0134477-b9d9-484b-b0e3-205c1c089ffa",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "applicationGatewayBackendAddressPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationGateways/nsgExistingAppGw/backendAddressPools/appGatewayBackendPool"
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithAnAzureLoadBalancer.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithAnAzureLoadBalancer.json
new file mode 100644
index 000000000000..251fd8c076e1
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithAnAzureLoadBalancer.json
@@ -0,0 +1,251 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ },
+ "publicIPAddressConfiguration": {
+ "name": "{vmss-name}",
+ "properties": {
+ "publicIPAddressVersion": "IPv4"
+ }
+ },
+ "loadBalancerInboundNatPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/inboundNatPools/{existing-nat-pool-name}"
+ }
+ ],
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/backendAddressPools/{existing-backend-address-pool-name}"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "ec0b21ca-51ec-414b-9323-f236ffc21479",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "loadBalancerInboundNatPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/myLb/inboundNatPools/lbNatPool"
+ }
+ ],
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/myLb/backendAddressPools/lbBackendPool"
+ }
+ ],
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "ec0b21ca-51ec-414b-9323-f236ffc21479",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "loadBalancerInboundNatPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/myLb/inboundNatPools/lbNatPool"
+ }
+ ],
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/myLb/backendAddressPools/lbBackendPool"
+ }
+ ],
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithAutomaticRepairs.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithAutomaticRepairs.json
new file mode 100644
index 000000000000..226d37037ffd
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithAutomaticRepairs.json
@@ -0,0 +1,227 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "automaticRepairsPolicy": {
+ "enabled": true,
+ "gracePeriod": "PT30M"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "automaticRepairsPolicy": {
+ "enabled": true,
+ "gracePeriod": "PT30M"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "automaticRepairsPolicy": {
+ "enabled": true,
+ "gracePeriod": "PT30M"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithBootDiagnostics.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithBootDiagnostics.json
new file mode 100644
index 000000000000..9574a5afebf2
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithBootDiagnostics.json
@@ -0,0 +1,233 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://{existing-storage-account-name}.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithDiffOsDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithDiffOsDisk.json
new file mode 100644
index 000000000000..cf150bee42ff
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithDiffOsDisk.json
@@ -0,0 +1,239 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows2016",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "windows-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "windows-data-science-vm",
+ "name": "windows2016"
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "name": "{vmss-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "name": "{vmss-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithDiffOsDiskUsingDiffDiskPlacement.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithDiffOsDiskUsingDiffDiskPlacement.json
new file mode 100644
index 000000000000..3196e53ffd40
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithDiffOsDiskUsingDiffDiskPlacement.json
@@ -0,0 +1,242 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows2016",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "windows-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local",
+ "placement": "ResourceDisk"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "windows-data-science-vm",
+ "name": "windows2016"
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "name": "{vmss-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local",
+ "placement": "ResourceDisk"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "name": "{vmss-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local",
+ "placement": "ResourceDisk"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithEmptyDataDisksOnEachVm.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithEmptyDataDisksOnEachVm.json
new file mode 100644
index 000000000000..8d0fd9cdb0c7
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithEmptyDataDisksOnEachVm.json
@@ -0,0 +1,270 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D2_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "diskSizeGB": 512
+ },
+ "dataDisks": [
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ },
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 1
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D2_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "8042c376-4690-4c47-9fa2-fbdad70e32fa",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "diskSizeGB": 512
+ },
+ "dataDisks": [
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 0,
+ "diskSizeGB": 1023
+ },
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 1,
+ "diskSizeGB": 1023
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D2_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "8042c376-4690-4c47-9fa2-fbdad70e32fa",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "diskSizeGB": 512
+ },
+ "dataDisks": [
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 0,
+ "diskSizeGB": 1023
+ },
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 1,
+ "diskSizeGB": 1023
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithEncryptionAtHost.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithEncryptionAtHost.json
new file mode 100644
index 000000000000..b2f37e5d2ad7
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithEncryptionAtHost.json
@@ -0,0 +1,239 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows2016",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "windows-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "securityProfile": {
+ "encryptionAtHost": true
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "windows-data-science-vm",
+ "name": "windows2016"
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "name": "{vmss-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "securityProfile": {
+ "encryptionAtHost": true
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "name": "{vmss-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "securityProfile": {
+ "encryptionAtHost": true
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithExtensionsTimeBudget.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithExtensionsTimeBudget.json
new file mode 100644
index 000000000000..eb77ecc2251c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithExtensionsTimeBudget.json
@@ -0,0 +1,278 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://{existing-storage-account-name}.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "extensionProfile": {
+ "extensions": [
+ {
+ "name": "{extension-name}",
+ "properties": {
+ "autoUpgradeMinorVersion": false,
+ "publisher": "{extension-Publisher}",
+ "type": "{extension-Type}",
+ "typeHandlerVersion": "{handler-version}",
+ "settings": {}
+ }
+ }
+ ],
+ "extensionsTimeBudget": "PT1H20M"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "extensionProfile": {
+ "extensions": [
+ {
+ "name": "{extension-name}",
+ "properties": {
+ "autoUpgradeMinorVersion": false,
+ "publisher": "{extension-Publisher}",
+ "type": "{extension-Type}",
+ "typeHandlerVersion": "{handler-version}",
+ "settings": {}
+ }
+ }
+ ],
+ "extensionsTimeBudget": "PT1H20M"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "extensionProfile": {
+ "extensions": [
+ {
+ "name": "{extension-name}",
+ "properties": {
+ "autoUpgradeMinorVersion": false,
+ "publisher": "{extension-Publisher}",
+ "type": "{extension-Type}",
+ "typeHandlerVersion": "{handler-version}",
+ "settings": {}
+ }
+ }
+ ],
+ "extensionsTimeBudget": "PT1H20M"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithManagedBootDiagnostics.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithManagedBootDiagnostics.json
new file mode 100644
index 000000000000..76a3f07f7718
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithManagedBootDiagnostics.json
@@ -0,0 +1,230 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithPasswordAuthentication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithPasswordAuthentication.json
new file mode 100644
index 000000000000..f2b1d4749c89
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithPasswordAuthentication.json
@@ -0,0 +1,215 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "ffb27c5c-39a5-4d4e-b307-b32598689813",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "ffb27c5c-39a5-4d4e-b307-b32598689813",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithPremiumStorage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithPremiumStorage.json
new file mode 100644
index 000000000000..1fa74bb1f394
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithPremiumStorage.json
@@ -0,0 +1,215 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "19fd38a2-f50a-42c6-9dc7-3f9cf3791225",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "19fd38a2-f50a-42c6-9dc7-3f9cf3791225",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithSshAuthentication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithSshAuthentication.json
new file mode 100644
index 000000000000..51320853b305
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithSshAuthentication.json
@@ -0,0 +1,239 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "linuxConfiguration": {
+ "ssh": {
+ "publicKeys": [
+ {
+ "path": "/home/{your-username}/.ssh/authorized_keys",
+ "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1"
+ }
+ ]
+ },
+ "disablePasswordAuthentication": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "fb73af19-0090-467c-9ced-b00bceab1c45",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "16.04-LTS",
+ "publisher": "Canonical",
+ "version": "latest",
+ "offer": "UbuntuServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "linuxConfiguration": {
+ "ssh": {
+ "publicKeys": [
+ {
+ "path": "/home/{your-username}/.ssh/authorized_keys",
+ "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1"
+ }
+ ]
+ },
+ "disablePasswordAuthentication": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "fb73af19-0090-467c-9ced-b00bceab1c45",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "16.04-LTS",
+ "publisher": "Canonical",
+ "version": "latest",
+ "offer": "UbuntuServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "linuxConfiguration": {
+ "ssh": {
+ "publicKeys": [
+ {
+ "path": "/home/{your-username}/.ssh/authorized_keys",
+ "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1"
+ }
+ ]
+ },
+ "disablePasswordAuthentication": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithTerminateScheduledEventEnabled.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithTerminateScheduledEventEnabled.json
new file mode 100644
index 000000000000..4202e9442235
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithTerminateScheduledEventEnabled.json
@@ -0,0 +1,233 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "scheduledEventsProfile": {
+ "terminateNotificationProfile": {
+ "enable": true,
+ "notBeforeTimeout": "PT5M"
+ }
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ },
+ "scheduledEventsProfile": {
+ "terminateNotificationProfile": {
+ "enable": true,
+ "notBeforeTimeout": "PT5M"
+ }
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ },
+ "scheduledEventsProfile": {
+ "terminateNotificationProfile": {
+ "enable": true,
+ "notBeforeTimeout": "PT5M"
+ }
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithUefiSettings.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithUefiSettings.json
new file mode 100644
index 000000000000..40660755ca31
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithUefiSettings.json
@@ -0,0 +1,236 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D2s_v3"
+ },
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows10-tvm",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "18363.592.2001092016",
+ "offer": "windowsserver-gen2preview-preview"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "managedDisk": {
+ "storageAccountType": "StandardSSD_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "securityProfile": {
+ "uefiSettings": {
+ "secureBootEnabled": true,
+ "vTpmEnabled": true
+ },
+ "securityType": "TrustedLaunch"
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D2s_v3"
+ },
+ "name": "{vmss-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows10-tvm",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "18363.592.2001092016",
+ "offer": "windowsserver-gen2preview-preview"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "managedDisk": {
+ "storageAccountType": "StandardSSD_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "securityProfile": {
+ "uefiSettings": {
+ "secureBootEnabled": true,
+ "vTpmEnabled": true
+ },
+ "securityType": "TrustedLaunch"
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D2s_v3"
+ },
+ "name": "{vmss-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows10-tvm",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "18363.592.2001092016",
+ "offer": "windowsserver-gen2preview-preview"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "managedDisk": {
+ "storageAccountType": "StandardSSD_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "securityProfile": {
+ "uefiSettings": {
+ "secureBootEnabled": true,
+ "vTpmEnabled": true
+ },
+ "securityType": "TrustedLaunch"
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithVMsInDifferentZones.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithVMsInDifferentZones.json
new file mode 100644
index 000000000000..eb3aa2ca73d5
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScaleSetWithVMsInDifferentZones.json
@@ -0,0 +1,284 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 2,
+ "name": "Standard_A1_v2"
+ },
+ "location": "centralus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "diskSizeGB": 512
+ },
+ "dataDisks": [
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ },
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 1
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Automatic"
+ }
+ },
+ "zones": [
+ "1",
+ "3"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 2,
+ "name": "Standard_A1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": false,
+ "overprovision": true,
+ "uniqueId": "8042c376-4690-4c47-9fa2-fbdad70e32fa",
+ "zoneBalance": false,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "diskSizeGB": 512
+ },
+ "dataDisks": [
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 0,
+ "diskSizeGB": 1023
+ },
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 1,
+ "diskSizeGB": 1023
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Automatic"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "zones": [
+ "1",
+ "3"
+ ],
+ "location": "centralus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 2,
+ "name": "Standard_A1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": false,
+ "overprovision": true,
+ "uniqueId": "8042c376-4690-4c47-9fa2-fbdad70e32fa",
+ "zoneBalance": false,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "diskSizeGB": 512
+ },
+ "dataDisks": [
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 0,
+ "diskSizeGB": 1023
+ },
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 1,
+ "diskSizeGB": 1023
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Automatic"
+ },
+ "provisioningState": "Creating"
+ },
+ "zones": [
+ "1",
+ "3"
+ ],
+ "location": "centralus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScalesetWithDiskEncryptionSetResource.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScalesetWithDiskEncryptionSetResource.json
new file mode 100644
index 000000000000..e86a41f031f7
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAScalesetWithDiskEncryptionSetResource.json
@@ -0,0 +1,255 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "createOption": "FromImage"
+ },
+ "dataDisks": [
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "createOption": "FromImage"
+ },
+ "dataDisks": [
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "createOption": "FromImage"
+ },
+ "dataDisks": [
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmFromACustomImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmFromACustomImage.json
new file mode 100644
index 000000000000..0256e694051a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmFromACustomImage.json
@@ -0,0 +1,144 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "name": "myVMosdisk",
+ "diskSizeGB": 30,
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "osType": "Linux"
+ },
+ "dataDisks": []
+ },
+ "vmId": "71aa3d5a-d73d-4970-9182-8580433b2865",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "name": "myVMosdisk",
+ "diskSizeGB": 30,
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "osType": "Linux"
+ },
+ "dataDisks": []
+ },
+ "vmId": "71aa3d5a-d73d-4970-9182-8580433b2865",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmFromAGeneralizedSharedImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmFromAGeneralizedSharedImage.json
new file mode 100644
index 000000000000..3d6eef823bf3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmFromAGeneralizedSharedImage.json
@@ -0,0 +1,144 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage"
+ },
+ "osDisk": {
+ "name": "myVMosdisk",
+ "diskSizeGB": 30,
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "osType": "Linux"
+ },
+ "dataDisks": []
+ },
+ "vmId": "71aa3d5a-d73d-4970-9182-8580433b2865",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage"
+ },
+ "osDisk": {
+ "name": "myVMosdisk",
+ "diskSizeGB": 30,
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "osType": "Linux"
+ },
+ "dataDisks": []
+ },
+ "vmId": "71aa3d5a-d73d-4970-9182-8580433b2865",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmFromASpecializedSharedImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmFromASpecializedSharedImage.json
new file mode 100644
index 000000000000..a05801b0937a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmFromASpecializedSharedImage.json
@@ -0,0 +1,123 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage"
+ },
+ "osDisk": {
+ "name": "myVMosdisk",
+ "diskSizeGB": 30,
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "osType": "Linux"
+ },
+ "dataDisks": []
+ },
+ "vmId": "71aa3d5a-d73d-4970-9182-8580433b2865",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage"
+ },
+ "osDisk": {
+ "name": "myVMosdisk",
+ "diskSizeGB": 30,
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "osType": "Linux"
+ },
+ "dataDisks": []
+ },
+ "vmId": "71aa3d5a-d73d-4970-9182-8580433b2865",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmInAVirtualMachineScaleSetWithCustomerAssignedPlatformFaultDomain.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmInAVirtualMachineScaleSetWithCustomerAssignedPlatformFaultDomain.json
new file mode 100644
index 000000000000..fdf185a8b808
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmInAVirtualMachineScaleSetWithCustomerAssignedPlatformFaultDomain.json
@@ -0,0 +1,165 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "virtualMachineScaleSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{existing-flex-vmss-name-with-platformFaultDomainCount-greater-than-1}"
+ },
+ "platformFaultDomain": 1
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "7cce54f2-ecd3-4ddd-a8d9-50984faa3918",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "virtualMachineScaleSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myExistingFlexVmss"
+ },
+ "platformFaultDomain": 1,
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "7cce54f2-ecd3-4ddd-a8d9-50984faa3918",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "virtualMachineScaleSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myExistingFlexVmss"
+ },
+ "platformFaultDomain": 1,
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmInAnAvailabilitySet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmInAnAvailabilitySet.json
new file mode 100644
index 000000000000..df234833d88a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmInAnAvailabilitySet.json
@@ -0,0 +1,162 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "availabilitySet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/availabilitySets/{existing-availability-set-name}"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "availabilitySet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/availabilitySets/NSGEXISTINGAS"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "availabilitySet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/availabilitySets/NSGEXISTINGAS"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithADiffOsDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithADiffOsDisk.json
new file mode 100644
index 000000000000..f6d53aad93e7
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithADiffOsDisk.json
@@ -0,0 +1,177 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "windows-data-science-vm",
+ "name": "windows2016"
+ },
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows2016",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "windows-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ },
+ "dataDisks": []
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ },
+ "dataDisks": []
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsCacheDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsCacheDisk.json
new file mode 100644
index 000000000000..ecf20ec9c30c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsCacheDisk.json
@@ -0,0 +1,180 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "windows-data-science-vm",
+ "name": "windows2016"
+ },
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows2016",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "windows-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local",
+ "placement": "CacheDisk"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local",
+ "placement": "CacheDisk"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ },
+ "dataDisks": []
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local",
+ "placement": "CacheDisk"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ },
+ "dataDisks": []
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsResourceDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsResourceDisk.json
new file mode 100644
index 000000000000..47b7931d7e53
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsResourceDisk.json
@@ -0,0 +1,180 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "windows-data-science-vm",
+ "name": "windows2016"
+ },
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows2016",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "windows-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local",
+ "placement": "ResourceDisk"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local",
+ "placement": "ResourceDisk"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ },
+ "dataDisks": []
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local",
+ "placement": "ResourceDisk"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ },
+ "dataDisks": []
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithAMarketplaceImagePlan.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithAMarketplaceImagePlan.json
new file mode 100644
index 000000000000..cf0ec79faf5d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithAMarketplaceImagePlan.json
@@ -0,0 +1,168 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "windows-data-science-vm",
+ "name": "windows2016"
+ },
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows2016",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "windows-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithBootDiagnostics.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithBootDiagnostics.json
new file mode 100644
index 000000000000..cae9bc2816ba
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithBootDiagnostics.json
@@ -0,0 +1,171 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://{existing-storage-account-name}.blob.core.windows.net",
+ "enabled": true
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithDiskEncryptionSetResource.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithDiskEncryptionSetResource.json
new file mode 100644
index 000000000000..d34e71f2943a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithDiskEncryptionSetResource.json
@@ -0,0 +1,229 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ },
+ "dataDisks": [
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ },
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/{existing-managed-disk-name}",
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Attach",
+ "lun": 1
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "name": "myVMosdisk",
+ "diskSizeGB": 30,
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskencryptionset-name}"
+ }
+ },
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "osType": "Linux"
+ },
+ "dataDisks": [
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ },
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/{existing-managed-disk-name}",
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Attach",
+ "lun": 1
+ }
+ ]
+ },
+ "vmId": "71aa3d5a-d73d-4970-9182-8580433b2865",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "name": "myVMosdisk",
+ "diskSizeGB": 30,
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "osType": "Linux"
+ },
+ "dataDisks": [
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ },
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/{existing-managed-disk-name}",
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Attach",
+ "lun": 1
+ }
+ ]
+ },
+ "vmId": "71aa3d5a-d73d-4970-9182-8580433b2865",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithEmptyDataDisks.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithEmptyDataDisks.json
new file mode 100644
index 000000000000..406d0ef3b854
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithEmptyDataDisks.json
@@ -0,0 +1,205 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ },
+ "dataDisks": [
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ },
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 1
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": [
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 0,
+ "diskSizeGB": 1023
+ },
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 1,
+ "diskSizeGB": 1023
+ }
+ ]
+ },
+ "vmId": "3906fef9-a1e5-4b83-a8a8-540858b41df0",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": [
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 0,
+ "diskSizeGB": 1023,
+ "toBeDetached": false
+ },
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 1,
+ "diskSizeGB": 1023,
+ "toBeDetached": false
+ }
+ ]
+ },
+ "vmId": "3906fef9-a1e5-4b83-a8a8-540858b41df0",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithEncryptionAtHost.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithEncryptionAtHost.json
new file mode 100644
index 000000000000..304b430f7256
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithEncryptionAtHost.json
@@ -0,0 +1,177 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "windows-data-science-vm",
+ "name": "windows2016"
+ },
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "securityProfile": {
+ "encryptionAtHost": true
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows2016",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "windows-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadOnly",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ },
+ "dataDisks": []
+ },
+ "securityProfile": {
+ "encryptionAtHost": true
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadOnly",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ },
+ "dataDisks": []
+ },
+ "securityProfile": {
+ "encryptionAtHost": true
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithExtensionsTimeBudget.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithExtensionsTimeBudget.json
new file mode 100644
index 000000000000..c30021310573
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithExtensionsTimeBudget.json
@@ -0,0 +1,174 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://{existing-storage-account-name}.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "extensionsTimeBudget": "PT30M"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "extensionsTimeBudget": "PT30M",
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "extensionsTimeBudget": "PT30M",
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithManagedBootDiagnostics.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithManagedBootDiagnostics.json
new file mode 100644
index 000000000000..c4034613d6f7
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithManagedBootDiagnostics.json
@@ -0,0 +1,168 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ },
+ "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ },
+ "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithNetworkInterfaceConfiguration.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithNetworkInterfaceConfiguration.json
new file mode 100644
index 000000000000..75cb4f765ab2
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithNetworkInterfaceConfiguration.json
@@ -0,0 +1,174 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "networkProfile": {
+ "networkApiVersion": "2020-11-01",
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{nic-config-name}",
+ "properties": {
+ "primary": true,
+ "deleteOption": "Delete",
+ "ipConfigurations": [
+ {
+ "name": "{ip-config-name}",
+ "properties": {
+ "primary": true,
+ "publicIPAddressConfiguration": {
+ "name": "{publicIP-config-name}",
+ "sku": {
+ "publicIPAddressSkuName": "Basic",
+ "publicIPAddressSkuTier": "Global"
+ },
+ "properties": {
+ "deleteOption": "Detach",
+ "publicIPAllocationMethod": "Static"
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/toBeCreatedNetworkInterface",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/toBeCreatedNetworkInterface",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithPasswordAuthentication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithPasswordAuthentication.json
new file mode 100644
index 000000000000..8aef0f02a149
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithPasswordAuthentication.json
@@ -0,0 +1,153 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "b248db33-62ba-4d2d-b791-811e075ee0f5",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "b248db33-62ba-4d2d-b791-811e075ee0f5",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithPremiumStorage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithPremiumStorage.json
new file mode 100644
index 000000000000..cfb38698394f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithPremiumStorage.json
@@ -0,0 +1,153 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithScheduledEventsProfile.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithScheduledEventsProfile.json
new file mode 100644
index 000000000000..0a117902f077
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithScheduledEventsProfile.json
@@ -0,0 +1,189 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://{existing-storage-account-name}.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "scheduledEventsProfile": {
+ "terminateNotificationProfile": {
+ "notBeforeTimeout": "PT10M",
+ "enable": true
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "scheduledEventsProfile": {
+ "terminateNotificationProfile": {
+ "notBeforeTimeout": "PT10M",
+ "enable": true
+ }
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "scheduledEventsProfile": {
+ "terminateNotificationProfile": {
+ "notBeforeTimeout": "PT10M",
+ "enable": true
+ }
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithSshAuthentication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithSshAuthentication.json
new file mode 100644
index 000000000000..b735f88f551f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithSshAuthentication.json
@@ -0,0 +1,177 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "{image_sku}",
+ "publisher": "{image_publisher}",
+ "version": "latest",
+ "offer": "{image_offer}"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "ssh": {
+ "publicKeys": [
+ {
+ "path": "/home/{your-username}/.ssh/authorized_keys",
+ "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1"
+ }
+ ]
+ },
+ "disablePasswordAuthentication": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "ssh": {
+ "publicKeys": [
+ {
+ "path": "/home/{your-username}/.ssh/authorized_keys",
+ "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1"
+ }
+ ]
+ },
+ "disablePasswordAuthentication": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "16.04-LTS",
+ "publisher": "Canonical",
+ "version": "latest",
+ "offer": "UbuntuServer"
+ },
+ "osDisk": {
+ "osType": "Linux",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "e0de9b84-a506-4b95-9623-00a425d05c90",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "ssh": {
+ "publicKeys": [
+ {
+ "path": "/home/{your-username}/.ssh/authorized_keys",
+ "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1"
+ }
+ ]
+ },
+ "disablePasswordAuthentication": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "16.04-LTS",
+ "publisher": "Canonical",
+ "version": "latest",
+ "offer": "UbuntuServer"
+ },
+ "osDisk": {
+ "osType": "Linux",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "e0de9b84-a506-4b95-9623-00a425d05c90",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithUefiSettings.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithUefiSettings.json
new file mode 100644
index 000000000000..5cd06ed6c09a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithUefiSettings.json
@@ -0,0 +1,174 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "securityProfile": {
+ "uefiSettings": {
+ "secureBootEnabled": true,
+ "vTpmEnabled": true
+ },
+ "securityType": "TrustedLaunch"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows10-tvm",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "18363.592.2001092016",
+ "offer": "windowsserver-gen2preview-preview"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "managedDisk": {
+ "storageAccountType": "StandardSSD_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows10-tvm",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "18363.592.2001092016",
+ "offer": "windowsserver-gen2preview-preview"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadOnly",
+ "managedDisk": {
+ "storageAccountType": "StandardSSD_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ },
+ "dataDisks": []
+ },
+ "securityProfile": {
+ "uefiSettings": {
+ "secureBootEnabled": true,
+ "vTpmEnabled": true
+ },
+ "securityType": "TrustedLaunch"
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows10-tvm",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "18363.592.2001092016",
+ "offer": "windowsserver-gen2preview-preview"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadOnly",
+ "managedDisk": {
+ "storageAccountType": "StandardSSD_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ },
+ "dataDisks": []
+ },
+ "securityProfile": {
+ "uefiSettings": {
+ "secureBootEnabled": true,
+ "vTpmEnabled": true
+ },
+ "securityType": "TrustedLaunch"
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAWindowsVmWithPatchSettingAssessmentModeOfImageDefault.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAWindowsVmWithPatchSettingAssessmentModeOfImageDefault.json
new file mode 100644
index 000000000000..fcff98e4cbf8
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAWindowsVmWithPatchSettingAssessmentModeOfImageDefault.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true,
+ "patchSettings": {
+ "assessmentMode": "ImageDefault"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true,
+ "patchSettings": {
+ "assessmentMode": "ImageDefault"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": false,
+ "patchSettings": {
+ "assessmentMode": "ImageDefault"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAWindowsVmWithPatchSettingModeOfAutomaticByOS.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAWindowsVmWithPatchSettingModeOfAutomaticByOS.json
new file mode 100644
index 000000000000..fad6a4470f1b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAWindowsVmWithPatchSettingModeOfAutomaticByOS.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true,
+ "patchSettings": {
+ "patchMode": "AutomaticByOS"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true,
+ "patchSettings": {
+ "patchMode": "AutomaticByOS"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true,
+ "patchSettings": {
+ "patchMode": "AutomaticByOS"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAWindowsVmWithPatchSettingModeOfAutomaticByPlatformAndEnableHotPatchingTrue.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAWindowsVmWithPatchSettingModeOfAutomaticByPlatformAndEnableHotPatchingTrue.json
new file mode 100644
index 000000000000..63bbeb50181e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAWindowsVmWithPatchSettingModeOfAutomaticByPlatformAndEnableHotPatchingTrue.json
@@ -0,0 +1,169 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true,
+ "patchSettings": {
+ "patchMode": "AutomaticByPlatform",
+ "enableHotpatching": true
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true,
+ "patchSettings": {
+ "patchMode": "AutomaticByPlatform",
+ "enableHotpatching": true
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true,
+ "patchSettings": {
+ "patchMode": "AutomaticByPlatform",
+ "enableHotpatching": true
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAWindowsVmWithPatchSettingModeOfManual.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAWindowsVmWithPatchSettingModeOfManual.json
new file mode 100644
index 000000000000..d6f3b3da0b93
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAWindowsVmWithPatchSettingModeOfManual.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true,
+ "patchSettings": {
+ "patchMode": "Manual"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true,
+ "patchSettings": {
+ "patchMode": "Manual"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": false,
+ "patchSettings": {
+ "patchMode": "Manual"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAWindowsVmWithPatchSettingModesOfAutomaticByPlatform.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAWindowsVmWithPatchSettingModesOfAutomaticByPlatform.json
new file mode 100644
index 000000000000..cfcdbaf8bd7d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAWindowsVmWithPatchSettingModesOfAutomaticByPlatform.json
@@ -0,0 +1,169 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true,
+ "patchSettings": {
+ "patchMode": "AutomaticByPlatform",
+ "assessmentMode": "AutomaticByPlatform"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true,
+ "patchSettings": {
+ "patchMode": "AutomaticByPlatform",
+ "assessmentMode": "AutomaticByPlatform"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true,
+ "patchSettings": {
+ "patchMode": "AutomaticByPlatform",
+ "assessmentMode": "AutomaticByPlatform"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnAvailabilitySet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnAvailabilitySet.json
new file mode 100644
index 000000000000..b6886857c627
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnAvailabilitySet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "availabilitySetName": "myAvailabilitySet",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "platformFaultDomainCount": 2,
+ "platformUpdateDomainCount": 20
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Classic"
+ },
+ "name": "myAvailabilitySet",
+ "properties": {
+ "platformFaultDomainCount": 2,
+ "platformUpdateDomainCount": 20
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/availabilitySets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/availabilitySets/myAvailabilitySet"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageFromABlob.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageFromABlob.json
new file mode 100644
index 000000000000..5b4466dff562
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageFromABlob.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "osState": "Generalized"
+ },
+ "zoneResilient": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [],
+ "zoneResilient": true
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [],
+ "zoneResilient": true
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageFromABlobWithDiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageFromABlobWithDiskEncryptionSet.json
new file mode 100644
index 000000000000..fa4af00fae4e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageFromABlobWithDiskEncryptionSet.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "osState": "Generalized"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageFromAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageFromAManagedDisk.json
new file mode 100644
index 000000000000..dff16bda6e02
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageFromAManagedDisk.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized"
+ },
+ "zoneResilient": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [],
+ "zoneResilient": true
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [],
+ "zoneResilient": true
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageFromAManagedDiskWithDiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageFromAManagedDiskWithDiskEncryptionSet.json
new file mode 100644
index 000000000000..b7c1ce411fa6
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageFromAManagedDiskWithDiskEncryptionSet.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "osState": "Generalized"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageFromASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageFromASnapshot.json
new file mode 100644
index 000000000000..e5e7fc71a2a4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageFromASnapshot.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized"
+ },
+ "zoneResilient": false
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [],
+ "zoneResilient": false
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [],
+ "zoneResilient": false
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageFromASnapshotWithDiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageFromASnapshotWithDiskEncryptionSet.json
new file mode 100644
index 000000000000..b28aeeca150c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageFromASnapshotWithDiskEncryptionSet.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "osState": "Generalized"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageFromAVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageFromAVM.json
new file mode 100644
index 000000000000..df8ddde51490
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageFromAVM.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "sourceVirtualMachine": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "sourceVirtualMachine": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
+ },
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "managedDisk": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myVM_OsDisk_1_6dc293b7d811433196903acf92665022"
+ },
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [],
+ "zoneResilient": false
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "sourceVirtualMachine": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
+ },
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "managedDisk": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myVM_OsDisk_1_6dc293b7d811433196903acf92665022"
+ },
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [],
+ "zoneResilient": false
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
new file mode 100644
index 000000000000..87ed27dd9137
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "osState": "Generalized"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd"
+ }
+ ],
+ "zoneResilient": false
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd"
+ }
+ ],
+ "zoneResilient": false
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd"
+ }
+ ],
+ "zoneResilient": false
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
new file mode 100644
index 000000000000..27fc3c4006dc
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ }
+ }
+ ],
+ "zoneResilient": false
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ }
+ }
+ ],
+ "zoneResilient": false
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ }
+ }
+ ],
+ "zoneResilient": false
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
new file mode 100644
index 000000000000..9f5ed2a8bf0c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ }
+ }
+ ],
+ "zoneResilient": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ }
+ }
+ ],
+ "zoneResilient": true
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ }
+ }
+ ],
+ "zoneResilient": true
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnSshPublicKey.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnSshPublicKey.json
new file mode 100644
index 000000000000..78d0c61c4a31
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAnSshPublicKey.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "sshPublicKeyName": "mySshPublicKeyName",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "publicKey": "{ssh-rsa public key}"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "mySshPublicKeyName",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/sshPublicKeys/mySshPublicKeyName",
+ "properties": {
+ "publicKey": "{ssh-rsa public key}"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "mySshPublicKeyName",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/sshPublicKeys/mySshPublicKeyName",
+ "properties": {
+ "publicKey": "{ssh-rsa public key}"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateADedicatedHost.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateADedicatedHost.json
new file mode 100644
index 000000000000..be99526847e4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateADedicatedHost.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-10-01",
+ "parameters": {
+ "location": "westus",
+ "tags": {
+ "department": "HR"
+ },
+ "properties": {
+ "platformFaultDomain": 1
+ },
+ "sku": {
+ "name": "DSv3-Type1"
+ }
+ },
+ "hostGroupName": "myDedicatedHostGroup",
+ "hostName": "myDedicatedHost"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "myDedicatedHost",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/HostGroups/myDedicatedHostGroup/hosts/myDedicatedHost",
+ "tags": {
+ "department": "HR"
+ },
+ "sku": {
+ "name": "DSv3-Type1"
+ },
+ "properties": {
+ "platformFaultDomain": 1,
+ "autoReplaceOnFailure": true,
+ "hostId": "{GUID}"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "platformFaultDomain": 1,
+ "autoReplaceOnFailure": false,
+ "licenseType": "Windows_Server_Hybrid",
+ "hostId": "{GUID}"
+ },
+ "location": "westus",
+ "tags": {
+ "department": "HR"
+ },
+ "name": "myDedicatedHost",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/HostGroups/myDedicatedHostGroup/hosts/myDedicatedHost",
+ "sku": {
+ "name": "DSv3-Type1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateADedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateADedicatedHostGroup.json
new file mode 100644
index 000000000000..09004ff33237
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateADedicatedHostGroup.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "hostGroupName": "myDedicatedHostGroup",
+ "parameters": {
+ "location": "westus",
+ "tags": {
+ "department": "finance"
+ },
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "platformFaultDomainCount": 3,
+ "supportAutomaticPlacement": true
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "myDedicatedHostGroup",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/HostGroups/myDedicatedHostGroup",
+ "tags": {
+ "department": "finance"
+ },
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "platformFaultDomainCount": 3,
+ "supportAutomaticPlacement": true
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "platformFaultDomainCount": 3,
+ "supportAutomaticPlacement": true
+ },
+ "location": "westus",
+ "tags": {
+ "department": "finance",
+ "owner": "myCompany"
+ },
+ "name": "myDedicatedHostGroup",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/HostGroups/myDedicatedHostGroup",
+ "zones": [
+ "1"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateAProximityPlacementGroup.json
new file mode 100644
index 000000000000..d948ce838bdf
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateAProximityPlacementGroup.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "proximityPlacementGroupName": "myProximityPlacementGroup",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "proximityPlacementGroupType": "Standard"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myProximityPlacementGroup",
+ "properties": {
+ "proximityPlacementGroupType": "Standard"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/proximityPlacementGroups",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myProximityPlacementGroup",
+ "properties": {
+ "proximityPlacementGroupType": "Standard"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/proximityPlacementGroups",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateARestorePointCollection.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateARestorePointCollection.json
new file mode 100644
index 000000000000..b073df954152
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateARestorePointCollection.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "restorePointCollectionName": "myRpc",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "norwayeast",
+ "properties": {
+ "source": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
+ }
+ },
+ "tags": {
+ "myTag1": "tagValue1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myRpc",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/myRpc",
+ "type": "Microsoft.Compute/restorePointCollections",
+ "location": "norwayeast",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "properties": {
+ "source": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "eastus"
+ },
+ "restorePointCollectionId": "638f052b-a7c2-450c-89e7-6a3b8f1d6a7c",
+ "provisioningState": "Successful"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myRpc",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/myRpc",
+ "type": "Microsoft.Compute/restorePointCollections",
+ "location": "norwayeast",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "properties": {
+ "source": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "eastus"
+ },
+ "restorePointCollectionId": "638f052b-a7c2-450c-89e7-6a3b8f1d6a7c",
+ "provisioningState": "Successful"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateAScaleSetWithUserData.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateAScaleSetWithUserData.json
new file mode 100644
index 000000000000..36638bf047b3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateAScaleSetWithUserData.json
@@ -0,0 +1,228 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "userData": "RXhhbXBsZSBVc2VyRGF0YQ==",
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateAVmWithUserData.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateAVmWithUserData.json
new file mode 100644
index 000000000000..1d5a128c007c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateAVmWithUserData.json
@@ -0,0 +1,172 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "{vm-name}",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "vmOSdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "{vm-name}",
+ "adminPassword": "{your-password}"
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://{existing-storage-account-name}.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "userData": "RXhhbXBsZSBVc2VyRGF0YQ=="
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/{vm-name}",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "{vm-name}",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "vmOSdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "{vm-name}",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/{vm-name}",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "{vm-name}",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "vmOSdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "{vm-name}",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateRunCommand.json
new file mode 100644
index 000000000000..d79faf7ba790
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateRunCommand.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "runCommandName": "myRunCommand",
+ "api-version": "2021-03-01",
+ "runCommand": {
+ "location": "West US",
+ "properties": {
+ "source": {
+ "script": "Write-Host Hello World!"
+ },
+ "parameters": [
+ {
+ "name": "param1",
+ "value": "value1"
+ },
+ {
+ "name": "param2",
+ "value": "value2"
+ }
+ ],
+ "asyncExecution": false,
+ "runAsUser": "user1",
+ "runAsPassword": "",
+ "timeoutInSeconds": 3600
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myRunCommand",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand",
+ "type": "Microsoft.Compute/virtualMachines/runCommands",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "source": {
+ "script": "Write-Host Hello World!"
+ },
+ "parameters": [
+ {
+ "name": "param1",
+ "value": "value1"
+ },
+ {
+ "name": "param2",
+ "value": "value2"
+ }
+ ],
+ "asyncExecution": false,
+ "runAsUser": "user1",
+ "timeoutInSeconds": 3600,
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myRunCommand",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand",
+ "type": "Microsoft.Compute/virtualMachines/runCommands",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "source": {
+ "script": "Write-Host Hello World!"
+ },
+ "parameters": [
+ {
+ "name": "param1",
+ "value": "value1"
+ },
+ {
+ "name": "param2",
+ "value": "value2"
+ }
+ ],
+ "asyncExecution": false,
+ "runAsUser": "user1",
+ "timeoutInSeconds": 3600,
+ "provisioningState": "Creating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json
new file mode 100644
index 000000000000..6b1e025380fd
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "vmExtensionName": "myVMExtension",
+ "api-version": "2021-03-01",
+ "extensionParameters": {
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "publisher": "extPublisher",
+ "type": "extType",
+ "typeHandlerVersion": "1.2",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "myVMExtension",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension",
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "provisioningState": "Creating",
+ "publisher": "extPublisher",
+ "type": "extType",
+ "typeHandlerVersion": "1.2",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myVMExtension",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension",
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "provisioningState": "Creating",
+ "publisher": "extPublisher",
+ "type": "extType",
+ "typeHandlerVersion": "1.2",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateVirtualMachineScaleSetVMRunCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateVirtualMachineScaleSetVMRunCommands.json
new file mode 100644
index 000000000000..1a45c6be2aa8
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateOrUpdateVirtualMachineScaleSetVMRunCommands.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "runCommandName": "myRunCommand",
+ "api-version": "2021-03-01",
+ "runCommand": {
+ "location": "West US",
+ "properties": {
+ "source": {
+ "script": "Write-Host Hello World!"
+ },
+ "parameters": [
+ {
+ "name": "param1",
+ "value": "value1"
+ },
+ {
+ "name": "param2",
+ "value": "value2"
+ }
+ ],
+ "asyncExecution": false,
+ "runAsUser": "user1",
+ "runAsPassword": "",
+ "timeoutInSeconds": 3600
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myRunCommand",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/runCommands/myRunCommand",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/runCommands",
+ "location": "westus",
+ "properties": {
+ "source": {
+ "script": "Write-Host Hello World!"
+ },
+ "parameters": [
+ {
+ "name": "param1",
+ "value": "value1"
+ },
+ {
+ "name": "param2",
+ "value": "value2"
+ }
+ ],
+ "asyncExecution": false,
+ "runAsUser": "user1",
+ "timeoutInSeconds": 3600,
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myRunCommand",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/runCommands/myRunCommand",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/runCommands",
+ "location": "westus",
+ "properties": {
+ "source": {
+ "script": "Write-Host Hello World!"
+ },
+ "parameters": [
+ {
+ "name": "param1",
+ "value": "value1"
+ },
+ {
+ "name": "param2",
+ "value": "value2"
+ }
+ ],
+ "asyncExecution": false,
+ "runAsUser": "user1",
+ "timeoutInSeconds": 3600,
+ "provisioningState": "Creating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/DeleteAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/DeleteAProximityPlacementGroup.json
new file mode 100644
index 000000000000..ea7544dbef46
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/DeleteAProximityPlacementGroup.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "proximityPlacementGroupName": "myProximityPlacementGroup",
+ "parameters": {}
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/DeleteRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/DeleteRunCommand.json
new file mode 100644
index 000000000000..e6e6ee07d2f5
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/DeleteRunCommand.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "runCommandName": "myRunCommand",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/DeleteVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/DeleteVirtualMachineScaleSetVMExtensions.json
new file mode 100644
index 000000000000..ffb80fa86722
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/DeleteVirtualMachineScaleSetVMExtensions.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "vmExtensionName": "myVMExtension",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/DeleteVirtualMachineScaleSetVMRunCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/DeleteVirtualMachineScaleSetVMRunCommands.json
new file mode 100644
index 000000000000..59c712586736
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/DeleteVirtualMachineScaleSetVMRunCommands.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "runCommandName": "myRunCommand",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ForceDeleteVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ForceDeleteVirtualMachine.json
new file mode 100644
index 000000000000..fe81bdcf60cf
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ForceDeleteVirtualMachine.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "forceDeletion": "true",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ForceDeleteVirtualMachineScaleSetVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ForceDeleteVirtualMachineScaleSetVM.json
new file mode 100644
index 000000000000..af6a7fe2f677
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ForceDeleteVirtualMachineScaleSetVM.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "forceDeletion": "true",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ForceDeleteVirtualMachineScaleSets.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ForceDeleteVirtualMachineScaleSets.json
new file mode 100644
index 000000000000..6ffa91047b7a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ForceDeleteVirtualMachineScaleSets.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "forceDeletion": "true",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GeneralizeVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GeneralizeVirtualMachine.json
new file mode 100644
index 000000000000..58e271ed105a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GeneralizeVirtualMachine.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "vmName": "myVMName"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GenerateSshKeyPair.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GenerateSshKeyPair.json
new file mode 100644
index 000000000000..e6788da6a11c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GenerateSshKeyPair.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "sshPublicKeyName": "mySshPublicKeyName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "privateKey": "{ssh private key}",
+ "publicKey": "{ssh-rsa public key}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/SshPublicKeys/mySshPublicKeyName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetADedicatedHost.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetADedicatedHost.json
new file mode 100644
index 000000000000..0da47da294d4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetADedicatedHost.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-10-01",
+ "hostGroupName": "myDedicatedHostGroup",
+ "hostName": "myHost"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "platformFaultDomain": 1,
+ "autoReplaceOnFailure": true,
+ "hostId": "{GUID}",
+ "provisioningTime": "2019-06-27T01:02:38.3138469+00:00",
+ "virtualMachines": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/vm1"
+ }
+ ],
+ "provisioningState": "Succeeded",
+ "instanceView": {
+ "assetId": "eb3f58b8-b4e8-4882-b69f-301a01812407",
+ "availableCapacity": {
+ "allocatableVMs": [
+ {
+ "vmSize": "Standard_A1",
+ "count": 10
+ }
+ ]
+ },
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded"
+ },
+ {
+ "code": "HealthState/available",
+ "level": "Info",
+ "displayStatus": "Host available"
+ }
+ ]
+ }
+ },
+ "location": "westus",
+ "tags": {
+ "department": "HR"
+ },
+ "sku": {
+ "name": "DSv3-Type1"
+ },
+ "name": "myHost"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetADedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetADedicatedHostGroup.json
new file mode 100644
index 000000000000..23f39079fee4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetADedicatedHostGroup.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "hostGroupName": "myDedicatedHostGroup",
+ "expand": "instanceView"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "platformFaultDomainCount": 3,
+ "hosts": [
+ {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/myDedicatedHostGroup/myHostGroup/Hosts/myHost1"
+ },
+ {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/myDedicatedHostGroup/myHostGroup/Hosts/myHost2"
+ }
+ ],
+ "supportAutomaticPlacement": true,
+ "instanceView": {
+ "hosts": [
+ {
+ "name": "myHost1",
+ "assetId": "eb3f58b8-b4e8-4882-b69f-301a01812407",
+ "availableCapacity": {
+ "allocatableVMs": [
+ {
+ "vmSize": "Standard_A1",
+ "count": 10
+ }
+ ]
+ },
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded"
+ },
+ {
+ "code": "HealthState/available",
+ "level": "Info",
+ "displayStatus": "Host available"
+ }
+ ]
+ },
+ {
+ "name": "myHost2",
+ "assetId": "f293d4ac-5eea-4be2-b0c0-0fcaa09aebf8",
+ "availableCapacity": {
+ "allocatableVMs": [
+ {
+ "vmSize": "Standard_A1",
+ "count": 10
+ }
+ ]
+ },
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded"
+ },
+ {
+ "code": "HealthState/available",
+ "level": "Info",
+ "displayStatus": "Host available"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "location": "westus",
+ "tags": {
+ "{tagName}": "{tagValue}"
+ },
+ "name": "myDedicatedHostGroup",
+ "zones": [
+ "3"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetAProximityPlacementGroup.json
new file mode 100644
index 000000000000..bb38cc14ed83
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetAProximityPlacementGroup.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "proximityPlacementGroupName": "myProximityPlacementGroup",
+ "parameters": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myProximityPlacementGroup",
+ "properties": {
+ "proximityPlacementGroupType": "Standard",
+ "virtualMachines": [
+ {
+ "id": "string"
+ }
+ ],
+ "virtualMachineScaleSets": [
+ {
+ "id": "string"
+ }
+ ],
+ "availabilitySets": [
+ {
+ "id": "string"
+ }
+ ]
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/proximityPlacementGroups",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetAnSshPublicKey.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetAnSshPublicKey.json
new file mode 100644
index 000000000000..5f700cb1a6dc
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetAnSshPublicKey.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "sshPublicKeyName": "mySshPublicKeyName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "mySshPublicKeyName",
+ "location": "westus",
+ "tags": {
+ "{tagName}": "{tagValue}"
+ },
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/SshPublicKeys/mySshPublicKeyName",
+ "properties": {
+ "publicKey": "{ssh-rsa public key}"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetInformationAboutAnImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetInformationAboutAnImage.json
new file mode 100644
index 000000000000..99c3067a9e36
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetInformationAboutAnImage.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "imageName": "myImage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS",
+ "diskSizeGB": 20
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "zoneResilient": true
+ },
+ "provisioningState": "created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePoint.json
new file mode 100644
index 000000000000..e10b1fa5653f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePoint.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "restorePointCollectionName": "rpcName",
+ "restorePointName": "rpName",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "rpName",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName/restorePoints/rpName",
+ "sourceMetadata": {
+ "vmId": "76d6541e-80bd-4dc1-932b-3cae4cfb80e7",
+ "hardwareProfile": {
+ "vmSize": "Standard_B1s"
+ },
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "name": "testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f",
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f"
+ },
+ "diskRestorePoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName/restorePoints/rpName/diskRestorePoints/testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f_22b4bdfe-6c54-4f72-84d8-85d8860f0c57"
+ }
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "name": "testingexcludedisk_DataDisk_1",
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/userdata/providers/Microsoft.Compute/disks/testingexcludedisk_DataDisk_1"
+ },
+ "diskRestorePoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/userdata/providers/Microsoft.Compute/restorePointCollections/mynewrpc/restorePoints/restorepointtwo/diskRestorePoints/testingexcludedisk_DataDisk_1_68785190-1acb-4d5e-a8ae-705b45f3dca5"
+ }
+ }
+ ]
+ },
+ "osProfile": {
+ "computerName": "computerName",
+ "adminUsername": "admin",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ },
+ "secrets": [],
+ "allowExtensionOperations": true,
+ "requireGuestProvisionSignal": true
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ }
+ },
+ "provisioningState": "Succeeded",
+ "consistencyMode": "ApplicationConsistent",
+ "provisioningDetails": {
+ "creationTime": "2021-01-27T20:35:05.8401519+00:00",
+ "totalUsedSizeInBytes": 10835349504,
+ "statusCode": 0,
+ "statusMessage": "{\"jobMessage\":\"\",\"messageStr\":\"1/27/2021 8:35:56 PM , snapshotCreator=guestExtension, hostStatusCodePreSnapshot=200, Plugin enable Succeeded (command: Snapshot) Snapshot command completed \",\"snapshotConsistency\":2}"
+ },
+ "excludeDisks": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm8768_disk2_fe6ffde4f69b491ca33fb984d5bcd89f"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollection.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollection.json
new file mode 100644
index 000000000000..63cf8efb6ca6
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollection.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "restorePointCollectionName": "myRpc",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myRpc",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/myRpc",
+ "type": "Microsoft.Compute/restorePointCollections",
+ "location": "West US",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "properties": {
+ "source": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/myRpc",
+ "location": "eastus"
+ },
+ "restorePointCollectionId": "59f04a5d-f783-4200-a1bd-d3f464e8c4b4",
+ "provisioningState": "Successful"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json
new file mode 100644
index 000000000000..4aa7fc88b198
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "restorePointCollectionName": "rpcName",
+ "api-version": "2021-03-01",
+ "expand": "restorePoints"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "rpcName",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName",
+ "type": "Microsoft.Compute/restorePointCollections",
+ "location": "West US",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "properties": {
+ "source": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "eastus"
+ },
+ "restorePointCollectionId": "59f04a5d-f783-4200-a1bd-d3f464e8c4b4",
+ "provisioningState": "Successful",
+ "restorePoints": [
+ {
+ "name": "restorePointName",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName/restorePoints/restorePointName",
+ "sourceMetadata": {
+ "vmId": "76d6541e-80bd-4dc1-932b-3cae4cfb80e7",
+ "hardwareProfile": {
+ "vmSize": "Standard_B1s"
+ },
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "name": "testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f",
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f"
+ },
+ "diskRestorePoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName/restorePoints/restorePointName/diskRestorePoints/testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f_22b4bdfe-6c54-4f72-84d8-85d8860f0c57"
+ }
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "name": "testingexcludedisk_DataDisk_1",
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/testingexcludedisk_DataDisk_1"
+ },
+ "diskRestorePoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName/restorePoints/restorePointName/diskRestorePoints/testingexcludedisk_DataDisk_1_68785190-1acb-4d5e-a8ae-705b45f3dca5"
+ }
+ }
+ ]
+ },
+ "osProfile": {
+ "computerName": "computerName",
+ "adminUsername": "admin",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ },
+ "secrets": [],
+ "allowExtensionOperations": true,
+ "requireGuestProvisionSignal": true
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ }
+ },
+ "provisioningState": "Succeeded",
+ "consistencyMode": "ApplicationConsistent",
+ "provisioningDetails": {
+ "creationTime": "2021-01-27T20:35:05.8401519+00:00",
+ "totalUsedSizeInBytes": 10835349504,
+ "statusCode": 0,
+ "statusMessage": "{\"jobMessage\":\"\",\"messageStr\":\"1/27/2021 8:35:56 PM , snapshotCreator=guestExtension, hostStatusCodePreSnapshot=200, Plugin enable Succeeded (command: Snapshot) Snapshot command completed \",\"snapshotConsistency\":2}"
+ },
+ "excludeDisks": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm8768_disk2_fe6ffde4f69b491ca33fb984d5bcd89f"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionsInAResourceGroup.json
new file mode 100644
index 000000000000..ece3579969d2
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionsInAResourceGroup.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "restorePointCollection1",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/restorePointCollection1",
+ "type": "Microsoft.Compute/restorePointCollections",
+ "location": "West US",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "properties": {
+ "source": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/restorePointCollection1",
+ "location": "West US"
+ },
+ "restorePointCollectionId": "59f04a5d-f783-4200-a1bd-d3f464e8c4b4",
+ "provisioningState": "Successful"
+ }
+ },
+ {
+ "name": "restorePointCollection2",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/restorePointCollection2",
+ "type": "Microsoft.Compute/restorePointCollections",
+ "location": "West US",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "properties": {
+ "source": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/restorePointCollection2",
+ "location": "West US"
+ },
+ "restorePointCollectionId": "2875c590-e337-4102-9668-4f5b7e3f98a4",
+ "provisioningState": "Deleting"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionsInASubscription.json
new file mode 100644
index 000000000000..0216a257babc
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionsInASubscription.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "restorePointCollection1",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/resourceGroup1/providers/Microsoft.Compute/restorePointCollections/restorePointCollection1",
+ "type": "Microsoft.Compute/restorePointCollections",
+ "location": "West US",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "properties": {
+ "source": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/VM_Test",
+ "location": "West US"
+ },
+ "restorePointCollectionId": "59f04a5d-f783-4200-a1bd-d3f464e8c4b4",
+ "provisioningState": "Successful"
+ }
+ },
+ {
+ "name": "restorePointCollection2",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/resourceGroup2/providers/Microsoft.Compute/restorePointCollections/restorePointCollection2",
+ "type": "Microsoft.Compute/restorePointCollections",
+ "location": "West US",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "properties": {
+ "source": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/VM_Prod",
+ "location": "West US"
+ },
+ "restorePointCollectionId": "2875c590-e337-4102-9668-4f5b7e3f98a4",
+ "provisioningState": "Deleting"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRunCommand.json
new file mode 100644
index 000000000000..c9f4b2bad674
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRunCommand.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "runCommandName": "myRunCommand",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myRunCommand",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand",
+ "type": "Microsoft.Compute/virtualMachines/runCommands",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "source": {
+ "script": "Write-Host Hello World!"
+ },
+ "parameters": [
+ {
+ "name": "param1",
+ "value": "value1"
+ },
+ {
+ "name": "param2",
+ "value": "value2"
+ }
+ ],
+ "asyncExecution": false,
+ "runAsUser": "user1",
+ "timeoutInSeconds": 3600,
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachine.json
new file mode 100644
index 000000000000..ff97c7c0bb99
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachine.json
@@ -0,0 +1,121 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "expand": "UserData"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVM",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "location": "West US",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "properties": {
+ "vmId": "0f47b100-583c-48e3-a4c0-aefc2c9bbcc1",
+ "availabilitySet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/availabilitySets/my-AvailabilitySet"
+ },
+ "proximityPlacementGroup": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/my-ppg01"
+ },
+ "hardwareProfile": {
+ "vmSize": "Standard_DS3_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "publisher": "MicrosoftWindowsServer",
+ "offer": "WindowsServer",
+ "sku": "2016-Datacenter",
+ "version": "latest"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "name": "myOsDisk",
+ "createOption": "FromImage",
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myOsDisk"
+ },
+ "diskSizeGB": 30
+ },
+ "dataDisks": [
+ {
+ "lun": 0,
+ "name": "myDataDisk0",
+ "createOption": "Empty",
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDataDisk0"
+ },
+ "diskSizeGB": 30
+ },
+ {
+ "lun": 1,
+ "name": "myDataDisk1",
+ "createOption": "Attach",
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDataDisk1"
+ },
+ "diskSizeGB": 100
+ }
+ ]
+ },
+ "userData": "RXhhbXBsZSBVc2VyRGF0YQ==",
+ "osProfile": {
+ "computerName": "myVM",
+ "adminUsername": "admin",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": false
+ },
+ "secrets": []
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{myNIC}"
+ }
+ ]
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true,
+ "storageUri": "http://{myStorageAccount}.blob.core.windows.net"
+ }
+ },
+ "extensionsTimeBudget": "PT50M",
+ "provisioningState": "Succeeded"
+ },
+ "resources": [
+ {
+ "name": "CustomScriptExtension-DSC",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/extensions/CustomScriptExtension-DSC",
+ "type": "Microsoft.Compute/virtualMachines/extensions",
+ "location": "west us",
+ "tags": {
+ "displayName": "CustomScriptExtension-DSC"
+ },
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "provisioningState": "Succeeded",
+ "publisher": "Microsoft.Compute",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.9",
+ "settings": {}
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineAutoPlacedOnDedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineAutoPlacedOnDedicatedHostGroup.json
new file mode 100644
index 000000000000..4c2f04c25d49
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineAutoPlacedOnDedicatedHostGroup.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVM",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "location": "West US",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "properties": {
+ "vmId": "0f47b100-583c-48e3-a4c0-aefc2c9bbcc1",
+ "hostGroup": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/hostGroups/myHostGroup"
+ },
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "publisher": "MicrosoftWindowsServer",
+ "offer": "WindowsServer",
+ "sku": "2016-Datacenter",
+ "version": "latest"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "name": "myOsDisk",
+ "createOption": "FromImage",
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myOsDisk"
+ },
+ "diskSizeGB": 30
+ },
+ "dataDisks": []
+ },
+ "osProfile": {
+ "computerName": "myVM",
+ "adminUsername": "admin",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": false
+ },
+ "secrets": []
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{myNIC}"
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineInstanceView.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineInstanceView.json
new file mode 100644
index 000000000000..c28ec41f5629
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineInstanceView.json
@@ -0,0 +1,144 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "vmName": "myVM"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "platformUpdateDomain": 1,
+ "platformFaultDomain": 1,
+ "computerName": "myVM",
+ "osName": "Windows Server 2016 Datacenter",
+ "osVersion": "Microsoft Windows NT 10.0.14393.0",
+ "vmAgent": {
+ "vmAgentVersion": "2.7.41491.949",
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Ready",
+ "message": "GuestAgent is running and accepting new configurations.",
+ "time": "2019-10-14T23:11:22+00:00"
+ }
+ ],
+ "extensionHandlers": [
+ {
+ "type": "Microsoft.Azure.Security.IaaSAntimalware",
+ "typeHandlerVersion": "1.5.5.9",
+ "status": {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Ready"
+ }
+ }
+ ]
+ },
+ "disks": [
+ {
+ "name": "myOsDisk",
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "time": "2019-10-14T21:29:47.477089+00:00"
+ }
+ ]
+ },
+ {
+ "name": "myDataDisk0",
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "time": "2019-10-14T21:29:47.461517+00:00"
+ }
+ ]
+ }
+ ],
+ "bootDiagnostics": {
+ "consoleScreenshotBlobUri": "https://{myStorageAccount}.blob.core.windows.net/bootdiagnostics-myOsDisk/myOsDisk.screenshot.bmp",
+ "serialConsoleLogBlobUri": "https://{myStorageAccount}.blob.core.windows.net/bootdiagnostics-myOsDisk/myOsDisk.serialconsole.log"
+ },
+ "extensions": [
+ {
+ "name": "IaaSAntiMalware-ext0",
+ "type": "Microsoft.Azure.Security.IaaSAntimalware",
+ "typeHandlerVersion": "1.5.5.9",
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "message": "Microsoft Antimalware enabled"
+ }
+ ]
+ }
+ ],
+ "hyperVGeneration": "V1",
+ "patchStatus": {
+ "availablePatchSummary": {
+ "status": "Succeeded",
+ "assessmentActivityId": "68f8b292-dfc2-4646-9781-33cc88631968",
+ "rebootPending": true,
+ "criticalAndSecurityPatchCount": 1,
+ "otherPatchCount": 2,
+ "startTime": "2020-04-24T21:02:04.2556154Z",
+ "lastModifiedTime": "2020-04-24T21:02:04.2556154Z",
+ "error": null
+ },
+ "lastPatchInstallationSummary": {
+ "status": "Succeeded",
+ "installationActivityId": "68f8b292-dfc2-4646-9981-33cc88631968",
+ "maintenanceWindowExceeded": false,
+ "notSelectedPatchCount": 1,
+ "excludedPatchCount": 1,
+ "pendingPatchCount": 1,
+ "installedPatchCount": 1,
+ "failedPatchCount": 1,
+ "startTime": "2020-04-24T21:02:04.2556154Z",
+ "lastModifiedTime": "2020-04-24T21:02:04.2556154Z",
+ "error": null
+ },
+ "configurationStatuses": [
+ {
+ "code": "PatchModeConfigurationState/Ready",
+ "level": "Info",
+ "displayStatus": "Status_PatchModeConfigurationState_Ready",
+ "time": "2020-04-24T21:02:04.2556154Z"
+ },
+ {
+ "code": "PatchModeConfigurationState/Pending",
+ "level": "Info",
+ "displayStatus": "Status_PatchModeConfigurationState_Pending",
+ "time": "2020-04-24T21:02:04.2556154Z"
+ },
+ {
+ "code": "AssessmentModeConfigurationState/Pending",
+ "level": "Info",
+ "displayStatus": "Status_AssessmentModeConfigurationState_Pending",
+ "time": "2020-04-24T21:02:04.2556154Z"
+ }
+ ]
+ },
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "time": "2019-10-14T21:30:12.8051917+00:00"
+ },
+ {
+ "code": "PowerState/running",
+ "level": "Info",
+ "displayStatus": "VM running"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineInstanceViewAutoPlacedOnDedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineInstanceViewAutoPlacedOnDedicatedHostGroup.json
new file mode 100644
index 000000000000..8d4ddff7d1b4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineInstanceViewAutoPlacedOnDedicatedHostGroup.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "vmName": "myVM"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "computerName": "myVM",
+ "osName": "Windows Server 2016 Datacenter",
+ "osVersion": "Microsoft Windows NT 10.0.14393.0",
+ "vmAgent": {
+ "vmAgentVersion": "2.7.41491.949",
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Ready",
+ "message": "GuestAgent is running and accepting new configurations.",
+ "time": "2021-03-01T23:11:22+00:00"
+ }
+ ]
+ },
+ "disks": [
+ {
+ "name": "myOsDisk",
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "time": "2021-03-01T21:29:47.477089+00:00"
+ }
+ ]
+ }
+ ],
+ "hyperVGeneration": "V1",
+ "assignedHost": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/hostGroups/myHostGroup/hosts/myHost",
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "time": "2021-03-01T21:30:12.8051917+00:00"
+ },
+ {
+ "code": "PowerState/running",
+ "level": "Info",
+ "displayStatus": "VM running"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetAutoPlacedOnDedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetAutoPlacedOnDedicatedHostGroup.json
new file mode 100644
index 000000000000..34497dbdc9f9
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetAutoPlacedOnDedicatedHostGroup.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myVirtualMachineScaleSet",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVirtualMachineScaleSet",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVirtualMachineScaleSet",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "location": "West US",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "sku": {
+ "name": "Standard_D2s_v3",
+ "tier": "Standard",
+ "capacity": 4
+ },
+ "properties": {
+ "singlePlacementGroup": false,
+ "upgradePolicy": {
+ "mode": "Automatic",
+ "automaticOSUpgradePolicy": {
+ "enableAutomaticOSUpgrade": false
+ }
+ },
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "osDisk": {
+ "createOption": "FromImage",
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "diskSizeGB": 30
+ },
+ "imageReference": {
+ "publisher": "azuredatabricks",
+ "offer": "databricks",
+ "sku": "databricksworker",
+ "version": "3.15.2"
+ },
+ "dataDisks": []
+ },
+ "osProfile": {
+ "computerNamePrefix": "myVirtualMachineScaleSet",
+ "adminUsername": "admin",
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "myNic",
+ "properties": {
+ "primary": true,
+ "ipConfigurations": [
+ {
+ "name": "myIPConfig",
+ "properties": {
+ "primary": true,
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet"
+ }
+ }
+ }
+ ],
+ "networkSecurityGroup": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNetworkSecurityGroup"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "provisioningState": "succeeded",
+ "overprovision": false,
+ "doNotRunExtensionsOnOverprovisionedVMs": false,
+ "platformFaultDomainCount": 1,
+ "hostGroup": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/hostGroups/myHostGroup"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetVMExtensions.json
new file mode 100644
index 000000000000..e8b886094942
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetVMExtensions.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "vmExtensionName": "myVMExtension",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "provisioningState": "Creating",
+ "publisher": "extPublisher",
+ "type": "extType",
+ "typeHandlerVersion": "1.2",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ },
+ "name": "myVMExtension",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetVMInstanceViewAutoPlacedOnDedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetVMInstanceViewAutoPlacedOnDedicatedHostGroup.json
new file mode 100644
index 000000000000..23640afc065a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetVMInstanceViewAutoPlacedOnDedicatedHostGroup.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myVirtualMachineScaleSet",
+ "instanceId": "0",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "platformUpdateDomain": 0,
+ "platformFaultDomain": 0,
+ "rdpThumbPrint": null,
+ "vmAgent": {
+ "vmAgentVersion": "Unknown",
+ "statuses": [
+ {
+ "code": "ProvisioningState/Unavailable",
+ "level": "Warning",
+ "displayStatus": "Not Ready",
+ "message": "VM status blob is found but not yet populated.",
+ "time": "2021-03-01T05:00:32+00:00"
+ }
+ ],
+ "extensionHandlers": null
+ },
+ "disks": [
+ {
+ "name": "myOSDisk",
+ "encryptionSettings": null,
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "message": null,
+ "time": "2021-03-01T04:58:58.0882815+00:00"
+ }
+ ]
+ }
+ ],
+ "extensions": null,
+ "assignedHost": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/hostGroups/myHostGroup/hosts/myHost",
+ "bootDiagnostics": null,
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "message": null,
+ "time": "2020-06-05T04:59:58.1852966+00:00"
+ },
+ {
+ "code": "PowerState/running",
+ "level": "Info",
+ "displayStatus": "VM running",
+ "message": null,
+ "time": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetVMRunCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetVMRunCommands.json
new file mode 100644
index 000000000000..486763d63f23
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetVMRunCommands.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "runCommandName": "myRunCommand",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myRunCommand",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/runCommands",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/runCommands/myRunCommand",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "source": {
+ "script": "Write-Host Hello World!"
+ },
+ "parameters": [
+ {
+ "name": "param1",
+ "value": "value1"
+ },
+ {
+ "name": "param2",
+ "value": "value2"
+ }
+ ],
+ "asyncExecution": false,
+ "runAsUser": "user1",
+ "timeoutInSeconds": 3600,
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetVMWithUserData.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetVMWithUserData.json
new file mode 100644
index 000000000000..c3dfdc7addf1
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetVMWithUserData.json
@@ -0,0 +1,133 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "instanceId": "0",
+ "api-version": "2021-03-01",
+ "expand": "UserData"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "{vmss-vm-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}/virtualMachines/0",
+ "type": "Microsoft.Compute/virtualMachines",
+ "location": "West US",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "properties": {
+ "latestModelApplied": true,
+ "modelDefinitionApplied": "VirtualMachineScaleSet",
+ "networkProfileConfiguration": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "vmsstestnetconfig5415",
+ "properties": {
+ "primary": true,
+ "enableAcceleratedNetworking": false,
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "enableIPForwarding": false,
+ "ipConfigurations": [
+ {
+ "name": "vmsstestnetconfig9693",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/vn4071/subnets/sn5503"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "vmId": "42af9fdf-b906-4ad7-9905-8316209ff619",
+ "hardwareProfile": {},
+ "storageProfile": {
+ "imageReference": {
+ "publisher": "MicrosoftWindowsServer",
+ "offer": "WindowsServer",
+ "sku": "2012-R2-Datacenter",
+ "version": "4.127.20180315",
+ "exactVersion": "4.127.20180315"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "name": "vmss3176_vmss3176_0_OsDisk_1_6d72b805e50e4de6830303c5055077fc",
+ "createOption": "FromImage",
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vmss3176_vmss3176_0_OsDisk_1_6d72b805e50e4de6830303c5055077fc"
+ },
+ "diskSizeGB": 127
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "name": "vmss3176_vmss3176_0_disk2_6c4f554bdafa49baa780eb2d128ff39d",
+ "createOption": "Empty",
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vmss3176_vmss3176_0_disk2_6c4f554bdafa49baa780eb2d128ff39d"
+ },
+ "diskSizeGB": 128,
+ "toBeDetached": false
+ }
+ ]
+ },
+ "osProfile": {
+ "computerName": "test000000",
+ "adminUsername": "Foo12",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ },
+ "secrets": [],
+ "allowExtensionOperations": true,
+ "requireGuestProvisionSignal": true
+ },
+ "userData": "RXhhbXBsZSBVc2VyRGF0YQ==",
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}/virtualMachines/0/networkInterfaces/vmsstestnetconfig5415"
+ }
+ ]
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ },
+ "provisioningState": "Succeeded"
+ },
+ "resources": [
+ {
+ "name": "CustomScriptExtension-DSC",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/extensions/CustomScriptExtension-DSC",
+ "type": "Microsoft.Compute/virtualMachines/extensions",
+ "location": "west us",
+ "tags": {
+ "displayName": "CustomScriptExtension-DSC"
+ },
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "provisioningState": "Succeeded",
+ "publisher": "Microsoft.Compute",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.9",
+ "settings": {}
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetWithUserData.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetWithUserData.json
new file mode 100644
index 000000000000..b609dfbee505
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetWithUserData.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myVirtualMachineScaleSet",
+ "api-version": "2021-03-01",
+ "expand": "userData"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVirtualMachineScaleSet",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVirtualMachineScaleSet",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "location": "West US",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "sku": {
+ "name": "Standard_D2s_v3",
+ "tier": "Standard",
+ "capacity": 4
+ },
+ "properties": {
+ "singlePlacementGroup": false,
+ "upgradePolicy": {
+ "mode": "Automatic",
+ "automaticOSUpgradePolicy": {
+ "enableAutomaticOSUpgrade": false
+ }
+ },
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "osDisk": {
+ "createOption": "FromImage",
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "diskSizeGB": 30
+ },
+ "imageReference": {
+ "publisher": "azuredatabricks",
+ "offer": "databricks",
+ "sku": "databricksworker",
+ "version": "3.15.2"
+ },
+ "dataDisks": []
+ },
+ "userData": "RXhhbXBsZSBVc2VyRGF0YQ==",
+ "osProfile": {
+ "computerNamePrefix": "myVirtualMachineScaleSet",
+ "adminUsername": "admin",
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "myNic",
+ "properties": {
+ "primary": true,
+ "ipConfigurations": [
+ {
+ "name": "myIPConfig",
+ "properties": {
+ "primary": true,
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet"
+ }
+ }
+ }
+ ],
+ "networkSecurityGroup": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNetworkSecurityGroup"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "provisioningState": "succeeded",
+ "overprovision": false,
+ "doNotRunExtensionsOnOverprovisionedVMs": false,
+ "platformFaultDomainCount": 1,
+ "hostGroup": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/hostGroups/myHostGroup"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListAvailabilitySetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListAvailabilitySetsInASubscription.json
new file mode 100644
index 000000000000..55399d01e3f1
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListAvailabilitySetsInASubscription.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "api-version": "2021-03-01",
+ "$expand": "virtualMachines\\$ref"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
+ "type": "Microsoft.Compute/availabilitySets",
+ "location": "australiasoutheast",
+ "properties": {
+ "platformUpdateDomainCount": 5,
+ "platformFaultDomainCount": 3,
+ "virtualMachines": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}"
+ }
+ ]
+ },
+ "sku": {
+ "name": "Classic"
+ }
+ },
+ {
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
+ "type": "Microsoft.Compute/availabilitySets",
+ "location": "australiasoutheast",
+ "properties": {
+ "platformUpdateDomainCount": 5,
+ "platformFaultDomainCount": 3,
+ "virtualMachines": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}"
+ }
+ ]
+ },
+ "sku": {
+ "name": "Classic"
+ }
+ },
+ {
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
+ "type": "Microsoft.Compute/availabilitySets",
+ "location": "westcentralus",
+ "tags": {
+ "{tagName}": "{tagValue}"
+ },
+ "properties": {
+ "platformUpdateDomainCount": 5,
+ "platformFaultDomainCount": 3,
+ "virtualMachines": []
+ },
+ "sku": {
+ "name": "Classic"
+ }
+ },
+ {
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
+ "type": "Microsoft.Compute/availabilitySets",
+ "location": "westcentralus",
+ "tags": {
+ "{tagName}": "{tagValue}"
+ },
+ "properties": {
+ "platformUpdateDomainCount": 5,
+ "platformFaultDomainCount": 3,
+ "virtualMachines": []
+ },
+ "sku": {
+ "name": "Classic"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListAvailableVmSizes_VirtualMachines.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListAvailableVmSizes_VirtualMachines.json
new file mode 100644
index 000000000000..99dfbb638034
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListAvailableVmSizes_VirtualMachines.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVmName",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Standard_A1_V2",
+ "numberOfCores": 1,
+ "osDiskSizeInMB": 1047552,
+ "resourceDiskSizeInMB": 10240,
+ "memoryInMB": 2048,
+ "maxDataDiskCount": 2
+ },
+ {
+ "name": "Standard_A2_V2",
+ "numberOfCores": 2,
+ "osDiskSizeInMB": 1047552,
+ "resourceDiskSizeInMB": 20480,
+ "memoryInMB": 4096,
+ "maxDataDiskCount": 4
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListImagesInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListImagesInAResourceGroup.json
new file mode 100644
index 000000000000..55c5b198e705
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListImagesInAResourceGroup.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ]
+ },
+ "provisioningState": "created"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListImagesInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListImagesInASubscription.json
new file mode 100644
index 000000000000..f62cff5bd721
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListImagesInASubscription.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ]
+ },
+ "provisioningState": "created"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListProximityPlacementGroupsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListProximityPlacementGroupsInAResourceGroup.json
new file mode 100644
index 000000000000..c364608ac6b8
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListProximityPlacementGroupsInAResourceGroup.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "parameters": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "myProximityPlacementGroup",
+ "properties": {
+ "proximityPlacementGroupType": "Standard",
+ "virtualMachines": [
+ {
+ "id": "string"
+ }
+ ],
+ "virtualMachineScaleSets": [
+ {
+ "id": "string"
+ }
+ ],
+ "availabilitySets": [
+ {
+ "id": "string"
+ }
+ ]
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/proximityPlacementGroups",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup"
+ }
+ ],
+ "nextLink": "string"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListProximityPlacementGroupsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListProximityPlacementGroupsInASubscription.json
new file mode 100644
index 000000000000..e32ae0b8a952
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListProximityPlacementGroupsInASubscription.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2021-03-01",
+ "parameters": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "myProximityPlacementGroup",
+ "properties": {
+ "proximityPlacementGroupType": "Standard",
+ "virtualMachines": [
+ {
+ "id": "string"
+ }
+ ],
+ "virtualMachineScaleSets": [
+ {
+ "id": "string"
+ }
+ ],
+ "availabilitySets": [
+ {
+ "id": "string"
+ }
+ ]
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/proximityPlacementGroups",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup"
+ }
+ ],
+ "nextLink": "string"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListRunCommandsInVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListRunCommandsInVM.json
new file mode 100644
index 000000000000..f5b6b3ff0001
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListRunCommandsInVM.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "myRunCommand",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand",
+ "type": "Microsoft.Compute/virtualMachines/runCommands",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "source": {
+ "script": "Write-Host Hello World!"
+ },
+ "parameters": [
+ {
+ "name": "param1",
+ "value": "value1"
+ },
+ {
+ "name": "param2",
+ "value": "value2"
+ }
+ ],
+ "asyncExecution": false,
+ "runAsUser": "user1",
+ "timeoutInSeconds": 0,
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListVirtualMachineScaleSetVMExtensions.json
new file mode 100644
index 000000000000..42a5a22bf930
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListVirtualMachineScaleSetVMExtensions.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "provisioningState": "Succeeded",
+ "publisher": "extPublisher",
+ "type": "extType",
+ "typeHandlerVersion": "1.2",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ },
+ "name": "myVMExtension",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension"
+ },
+ {
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "provisioningState": "Succeeded",
+ "publisher": "extPublisher1",
+ "type": "extType1",
+ "typeHandlerVersion": "1.0",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ },
+ "name": "myVMExtension1",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListVirtualMachineScaleSetVMRunCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListVirtualMachineScaleSetVMRunCommands.json
new file mode 100644
index 000000000000..6bbe70a53924
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListVirtualMachineScaleSetVMRunCommands.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "myRunCommand",
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/runCommands",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/runCommands/myRunCommand",
+ "properties": {
+ "source": {
+ "script": "Write-Host Hello World!"
+ },
+ "parameters": [
+ {
+ "name": "param1",
+ "value": "value1"
+ },
+ {
+ "name": "param2",
+ "value": "value2"
+ }
+ ],
+ "asyncExecution": false,
+ "runAsUser": "user1",
+ "timeoutInSeconds": 0,
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListVirtualMachineScaleSetsInASubscriptionByLocation.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListVirtualMachineScaleSetsInASubscriptionByLocation.json
new file mode 100644
index 000000000000..048d49bfabfb
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListVirtualMachineScaleSetsInASubscriptionByLocation.json
@@ -0,0 +1,169 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "eastus",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "{virtualMachineScaleSetName}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "location": "eastus",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "sku": {
+ "name": "Standard_D2s_v3",
+ "tier": "Standard",
+ "capacity": 4
+ },
+ "properties": {
+ "singlePlacementGroup": false,
+ "upgradePolicy": {
+ "mode": "Automatic",
+ "automaticOSUpgradePolicy": {
+ "enableAutomaticOSUpgrade": false
+ }
+ },
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "osDisk": {
+ "createOption": "FromImage",
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "diskSizeGB": 30
+ },
+ "imageReference": {
+ "publisher": "azuredatabricks",
+ "offer": "databricks",
+ "sku": "databricksworker",
+ "version": "3.15.2"
+ },
+ "dataDisks": []
+ },
+ "osProfile": {
+ "computerNamePrefix": "{virtualMachineScaleSetName}",
+ "adminUsername": "admin",
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "myNic",
+ "properties": {
+ "primary": true,
+ "ipConfigurations": [
+ {
+ "name": "myIPConfig",
+ "properties": {
+ "primary": true,
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet"
+ }
+ }
+ }
+ ],
+ "networkSecurityGroup": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNetworkSecurityGroup"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "provisioningState": "succeeded",
+ "overprovision": false,
+ "doNotRunExtensionsOnOverprovisionedVMs": false,
+ "platformFaultDomainCount": 1
+ }
+ },
+ {
+ "name": "{virtualMachineScaleSetName}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}1",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "location": "eastus",
+ "tags": {
+ "myTag1": "tagValue2"
+ },
+ "sku": {
+ "name": "Standard_D2s_v3",
+ "tier": "Standard",
+ "capacity": 4
+ },
+ "properties": {
+ "singlePlacementGroup": false,
+ "upgradePolicy": {
+ "mode": "Automatic",
+ "automaticOSUpgradePolicy": {
+ "enableAutomaticOSUpgrade": false
+ }
+ },
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "osDisk": {
+ "createOption": "FromImage",
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "diskSizeGB": 30
+ },
+ "imageReference": {
+ "publisher": "azuredatabricks",
+ "offer": "databricks",
+ "sku": "databricksworker",
+ "version": "3.15.2"
+ },
+ "dataDisks": []
+ },
+ "osProfile": {
+ "computerNamePrefix": "{virtualMachineScaleSetName}",
+ "adminUsername": "admin",
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "myNic1",
+ "properties": {
+ "primary": true,
+ "ipConfigurations": [
+ {
+ "name": "myIPConfig",
+ "properties": {
+ "primary": true,
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet"
+ }
+ }
+ }
+ ],
+ "networkSecurityGroup": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNetworkSecurityGroup"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "provisioningState": "succeeded",
+ "overprovision": false,
+ "doNotRunExtensionsOnOverprovisionedVMs": false,
+ "platformFaultDomainCount": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListVirtualMachinesInASubscriptionByLocation.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListVirtualMachinesInASubscriptionByLocation.json
new file mode 100644
index 000000000000..3b251b0b57ec
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ListVirtualMachinesInASubscriptionByLocation.json
@@ -0,0 +1,127 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "location": "eastus",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "vmId": "{vmId}",
+ "availabilitySet": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"
+ },
+ "hardwareProfile": {
+ "vmSize": "Standard_A0"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "publisher": "MicrosoftWindowsServer",
+ "offer": "WindowsServer",
+ "sku": "2012-R2-Datacenter",
+ "version": "4.127.20170406"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "name": "test",
+ "createOption": "FromImage",
+ "vhd": {
+ "uri": "https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd"
+ },
+ "caching": "None",
+ "diskSizeGB": 127
+ },
+ "dataDisks": []
+ },
+ "osProfile": {
+ "computerName": "Test",
+ "adminUsername": "Foo12",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ },
+ "secrets": [],
+ "allowExtensionOperations": true
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}"
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "location": "eastus",
+ "tags": {
+ "RG": "rg",
+ "testTag": "1"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}",
+ "name": "{virtualMachineName}"
+ },
+ {
+ "properties": {
+ "vmId": "{vmId}",
+ "availabilitySet": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"
+ },
+ "hardwareProfile": {
+ "vmSize": "Standard_A0"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "publisher": "MicrosoftWindowsServer",
+ "offer": "WindowsServer",
+ "sku": "2012-R2-Datacenter",
+ "version": "4.127.20170406"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "name": "test",
+ "createOption": "FromImage",
+ "vhd": {
+ "uri": "https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd"
+ },
+ "caching": "None",
+ "diskSizeGB": 127
+ },
+ "dataDisks": []
+ },
+ "osProfile": {
+ "computerName": "Test",
+ "adminUsername": "Foo12",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ },
+ "secrets": [],
+ "allowExtensionOperations": true
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}"
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "location": "eastus",
+ "tags": {
+ "RG": "rg",
+ "testTag": "1"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}",
+ "name": "{virtualMachineName}"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/LogAnalyticsRequestRateByInterval.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/LogAnalyticsRequestRateByInterval.json
new file mode 100644
index 000000000000..c7964817305b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/LogAnalyticsRequestRateByInterval.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "westus",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "intervalLength": "FiveMins",
+ "blobContainerSasUri": "https://somesasuri",
+ "fromTime": "2018-01-21T01:54:06.862601Z",
+ "toTime": "2018-01-23T01:54:06.862601Z",
+ "groupByResourceName": true
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "output": "https://crptestar4227.blob.core.windows.net:443/sascontainer/RequestRateByInterval_20180121-0154_20180123-0154.csv"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/LogAnalyticsThrottledRequests.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/LogAnalyticsThrottledRequests.json
new file mode 100644
index 000000000000..38714863c854
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/LogAnalyticsThrottledRequests.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "westus",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "blobContainerSasUri": "https://somesasuri",
+ "fromTime": "2018-01-21T01:54:06.862601Z",
+ "toTime": "2018-01-23T01:54:06.862601Z",
+ "groupByOperationName": true,
+ "groupByResourceName": false,
+ "groupByClientApplicationId": false,
+ "groupByUserAgent": false
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "output": "https://crptestar4227.blob.core.windows.net:443/sascontainer/ThrottledRequests_20180121-0154_20180123-0154.csv"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/PatchAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/PatchAProximityPlacementGroup.json
new file mode 100644
index 000000000000..446dcf6b0107
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/PatchAProximityPlacementGroup.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "proximityPlacementGroupName": "myProximityPlacementGroup",
+ "parameters": {
+ "tags": {
+ "additionalProp1": "string"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myProximityPlacementGroup",
+ "properties": {
+ "proximityPlacementGroupType": "Standard"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/proximityPlacementGroups",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ReapplyVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ReapplyVirtualMachine.json
new file mode 100644
index 000000000000..4f3d5df136b0
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ReapplyVirtualMachine.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2021-03-01",
+ "vmName": "VMName"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ReimageVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ReimageVirtualMachine.json
new file mode 100644
index 000000000000..d6e194182101
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/ReimageVirtualMachine.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "vmName": "myVMName",
+ "parameters": {
+ "tempDisk": true
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/RetrieveBootDiagnosticsDataVMScaleSetVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/RetrieveBootDiagnosticsDataVMScaleSetVM.json
new file mode 100644
index 000000000000..fbdaf0092afb
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/RetrieveBootDiagnosticsDataVMScaleSetVM.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2021-03-01",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "sasUriExpirationTimeInMinutes": 60
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "consoleScreenshotBlobUri": "https://storageuri/myvmScaleSetinstance.screenshot.bmp?{saskey}",
+ "serialConsoleLogBlobUri": "https://storageuri/myvmScaleSetinstance.serialconsole.log?{saskey}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/RetrieveBootDiagnosticsDataVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/RetrieveBootDiagnosticsDataVirtualMachine.json
new file mode 100644
index 000000000000..363b753a50f5
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/RetrieveBootDiagnosticsDataVirtualMachine.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2021-03-01",
+ "vmName": "VMName",
+ "sasUriExpirationTimeInMinutes": 60
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "consoleScreenshotBlobUri": "https://storageuri/vm.screenshot.bmp?{sasKey}",
+ "serialConsoleLogBlobUri": "https://storageuri/vm.serialconsole.log?{sasKey}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/SimulateEvictionOfVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/SimulateEvictionOfVM.json
new file mode 100644
index 000000000000..5b6ed9ee4471
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/SimulateEvictionOfVM.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2021-03-01",
+ "vmName": "VMName"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/SimulateEvictionOfVmssVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/SimulateEvictionOfVmssVM.json
new file mode 100644
index 000000000000..fbe4fdd545f5
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/SimulateEvictionOfVmssVM.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "ResourceGroup",
+ "vmScaleSetName": "VmScaleSetName",
+ "api-version": "2021-03-01",
+ "instanceId": "InstanceId"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/UpdateImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/UpdateImage.json
new file mode 100644
index 000000000000..4e22f8cec250
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/UpdateImage.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-01",
+ "imageName": "myImage",
+ "parameters": {
+ "properties": {
+ "sourceVirtualMachine": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
+ },
+ "hyperVGeneration": "V1"
+ },
+ "tags": {
+ "department": "HR"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "tags": {
+ "department": "HR"
+ },
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS",
+ "diskSizeGB": 20
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "zoneResilient": true
+ },
+ "provisioningState": "created"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "tags": {
+ "department": "HR"
+ },
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS",
+ "diskSizeGB": 20
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "zoneResilient": true
+ },
+ "provisioningState": "created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/UpdateRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/UpdateRunCommand.json
new file mode 100644
index 000000000000..2168b2d62f8a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/UpdateRunCommand.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "runCommandName": "myRunCommand",
+ "api-version": "2021-03-01",
+ "runCommand": {
+ "properties": {
+ "source": {
+ "script": "Write-Host Script Source Updated!"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myRunCommand",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand",
+ "type": "Microsoft.Compute/virtualMachines/runCommands",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "source": {
+ "script": "Write-Host Script Source Updated!"
+ },
+ "parameters": [
+ {
+ "name": "param1",
+ "value": "value1"
+ },
+ {
+ "name": "param2",
+ "value": "value2"
+ }
+ ],
+ "asyncExecution": false,
+ "runAsUser": "user1",
+ "timeoutInSeconds": 3600,
+ "provisioningState": "Updating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/UpdateVMDetachDataDiskUsingToBeDetachedProperty.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/UpdateVMDetachDataDiskUsingToBeDetachedProperty.json
new file mode 100644
index 000000000000..439117287e95
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/UpdateVMDetachDataDiskUsingToBeDetachedProperty.json
@@ -0,0 +1,135 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ },
+ "dataDisks": [
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0,
+ "toBeDetached": true
+ },
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 1,
+ "toBeDetached": false
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": [
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 0,
+ "diskSizeGB": 1023,
+ "toBeDetached": true
+ },
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 1,
+ "diskSizeGB": 1023,
+ "toBeDetached": false
+ }
+ ]
+ },
+ "vmId": "3906fef9-a1e5-4b83-a8a8-540858b41df0",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "provisioningState": "Updating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/UpdateVMForceDetachDataDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/UpdateVMForceDetachDataDisk.json
new file mode 100644
index 000000000000..d8fb811cb88c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/UpdateVMForceDetachDataDisk.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ },
+ "dataDisks": [
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0,
+ "toBeDetached": true,
+ "detachOption": "ForceDetach"
+ },
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 1,
+ "toBeDetached": false
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": [
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 0,
+ "diskSizeGB": 1023,
+ "toBeDetached": true,
+ "detachOption": "ForceDetach"
+ },
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 1,
+ "diskSizeGB": 1023,
+ "toBeDetached": false
+ }
+ ]
+ },
+ "vmId": "3906fef9-a1e5-4b83-a8a8-540858b41df0",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "provisioningState": "Updating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/UpdateVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/UpdateVirtualMachineScaleSetVMExtensions.json
new file mode 100644
index 000000000000..96664dcb1ace
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/UpdateVirtualMachineScaleSetVMExtensions.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "vmExtensionName": "myVMExtension",
+ "api-version": "2021-03-01",
+ "extensionParameters": {
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "publisher": "extPublisher",
+ "type": "extType",
+ "typeHandlerVersion": "1.2",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVMExtension",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension",
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "provisioningState": "Creating",
+ "publisher": "extPublisher",
+ "type": "extType",
+ "typeHandlerVersion": "1.2",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/UpdateVirtualMachineScaleSetVMRunCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/UpdateVirtualMachineScaleSetVMRunCommands.json
new file mode 100644
index 000000000000..025ec498ab13
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/UpdateVirtualMachineScaleSetVMRunCommands.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "runCommandName": "myRunCommand",
+ "api-version": "2021-03-01",
+ "runCommand": {
+ "properties": {
+ "source": {
+ "script": "Write-Host Script Source Updated!"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myRunCommand",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/runCommands",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/runCommands/myRunCommand",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "source": {
+ "script": "Write-Host Script Source Updated!"
+ },
+ "parameters": [
+ {
+ "name": "param1",
+ "value": "value1"
+ },
+ {
+ "name": "param2",
+ "value": "value2"
+ }
+ ],
+ "asyncExecution": false,
+ "runAsUser": "user1",
+ "timeoutInSeconds": 3600,
+ "provisioningState": "Updating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/VMScaleSetExtensionRollingUpgrade.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/VMScaleSetExtensionRollingUpgrade.json
new file mode 100644
index 000000000000..4a0869f43354
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/VMScaleSetExtensionRollingUpgrade.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/VMScaleSetRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/VMScaleSetRunCommand.json
new file mode 100644
index 000000000000..f4708018979b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/VMScaleSetRunCommand.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myVirtualMachineScaleSet",
+ "instanceId": "0",
+ "api-version": "2021-03-01",
+ "parameters": {
+ "commandId": "RunPowerShellScript",
+ "script": [
+ "Write-Host Hello World!"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "code": "ComponentStatus/StdOut/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "message": "Hello World!"
+ },
+ {
+ "code": "ComponentStatus/StdErr/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "message": ""
+ }
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/VirtualMachineAssessPatches.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/VirtualMachineAssessPatches.json
new file mode 100644
index 000000000000..698ae3cf24f2
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/VirtualMachineAssessPatches.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "Succeeded",
+ "assessmentActivityId": "68f8b292-dfc2-4646-9781-33cc88631968",
+ "rebootPending": true,
+ "criticalAndSecurityPatchCount": 1,
+ "otherPatchCount": 2,
+ "startDateTime": "2020-04-24T21:02:04.2556154Z",
+ "availablePatches": [
+ {
+ "patchId": "35428702-5784-4ba4-a6e0-5222258b5411",
+ "name": "Definition Update for Windows Defender Antivirus - KB2267602 (Definition 1.279.1373.0)",
+ "version": "",
+ "kbId": "2267602",
+ "classifications": [
+ "Definition Updates"
+ ],
+ "rebootBehavior": "NeverReboots",
+ "activityId": "68f8b292-dfc2-4646-9781-33cc88631968",
+ "publishedDate": "2018-11-07T00:00:00Z",
+ "lastModifiedDateTime": "2020-04-24T21:18:45.2830263Z",
+ "assessmentState": "Available"
+ },
+ {
+ "patchId": "39f9cdd1-795c-4d0e-8c0a-73ab3f31746d",
+ "name": "Windows Malicious Software Removal Tool x64 - October 2018 (KB890830)",
+ "version": "",
+ "kbId": "890830",
+ "classifications": [
+ "Update Rollups"
+ ],
+ "rebootBehavior": "CanRequestReboot",
+ "activityId": "68f8b292-dfc2-4646-9781-33cc88631968",
+ "publishedDate": "2018-11-07T00:00:00Z",
+ "lastModifiedDateTime": "2020-04-24T21:18:45.2830263Z",
+ "assessmentState": "Available"
+ }
+ ],
+ "error": null
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/VirtualMachineInstallPatches.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/VirtualMachineInstallPatches.json
new file mode 100644
index 000000000000..8e4b701ceedc
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/VirtualMachineInstallPatches.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "api-version": "2021-03-01",
+ "installPatchesInput": {
+ "maximumDuration": "PT4H",
+ "rebootSetting": "IfRequired",
+ "windowsParameters": {
+ "classificationsToInclude": [
+ "Critical",
+ "Security"
+ ],
+ "maxPatchPublishDate": "2020-11-19T02:36:43.0539904+00:00"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "Succeeded",
+ "installationActivityId": "68f8b292-dfc2-4646-9781-33cc88631968",
+ "rebootStatus": "Completed",
+ "maintenanceWindowExceeded": false,
+ "excludedPatchCount": 0,
+ "notSelectedPatchCount": 0,
+ "pendingPatchCount": 2,
+ "installedPatchCount": 3,
+ "failedPatchCount": 0,
+ "startDateTime": "2020-04-24T21:02:04.2556154Z",
+ "patches": [
+ {
+ "patchId": "35428702-5784-4ba4-a6e0-5222258b5411",
+ "name": "Definition Update for Windows Defender Antivirus - KB2267602 (Definition 1.279.1373.0)",
+ "version": "",
+ "kbId": "2267602",
+ "classifications": [
+ "Definition Updates"
+ ],
+ "installationState": "Installed"
+ },
+ {
+ "patchId": "39f9cdd1-795c-4d0e-8c0a-73ab3f31746d",
+ "name": "Windows Malicious Software Removal Tool x64 - October 2018 (KB890830)",
+ "version": "",
+ "kbId": "890830",
+ "classifications": [
+ "Update Rollups"
+ ],
+ "installationState": "Pending"
+ }
+ ],
+ "error": null
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/VirtualMachineRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/VirtualMachineRunCommand.json
new file mode 100644
index 000000000000..3f186bc983e4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/VirtualMachineRunCommand.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "24fb23e3-6ba3-41f0-9b6e-e41131d5d61e",
+ "resourceGroupName": "crptestar98131",
+ "vmName": "vm3036",
+ "$top": 1,
+ "api-version": "2021-03-01",
+ "monitor": "true",
+ "parameters": {
+ "commandId": "RunPowerShellScript"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "code": "ComponentStatus/StdOut/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "message": "This is a sample script with parameters value1 value2"
+ },
+ {
+ "code": "ComponentStatus/StdErr/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "message": ""
+ }
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/VirtualMachineRunCommandGet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/VirtualMachineRunCommandGet.json
new file mode 100644
index 000000000000..991e95ca4d78
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/VirtualMachineRunCommandGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "24fb23e3-6ba3-41f0-9b6e-e41131d5d61e",
+ "location": "SoutheastAsia",
+ "commandId": "RunPowerShellScript",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "script": [
+ "param(",
+ " [string]$arg1,",
+ " [string]$arg2",
+ ")",
+ "Write-Host This is a sample script with parameters $arg1 $arg2"
+ ],
+ "parameters": [
+ {
+ "name": "arg1",
+ "type": "string",
+ "defaultValue": "value1"
+ },
+ {
+ "name": "arg2",
+ "type": "string",
+ "defaultValue": "value2"
+ }
+ ],
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "RunPowerShellScript",
+ "osType": "Windows",
+ "label": "Executes a PowerShell script",
+ "description": "Custom multiline PowerShell script should be defined in script property. Optional parameters can be set in parameters property."
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/VirtualMachineRunCommandList.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/VirtualMachineRunCommandList.json
new file mode 100644
index 000000000000..86bcb9132b74
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/VirtualMachineRunCommandList.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "location": "SoutheastAsia",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "EnableRemotePS",
+ "osType": "Windows",
+ "label": "Enable remote PowerShell",
+ "description": "Configure the machine to enable remote PowerShell."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "IPConfig",
+ "osType": "Windows",
+ "label": "List IP configuration",
+ "description": "Shows detailed information for the IP address, subnet mask and default gateway for each adapter bound to TCP/IP."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "RunPowerShellScript",
+ "osType": "Windows",
+ "label": "Executes a PowerShell script",
+ "description": "Custom multiline PowerShell script should be defined in script property. Optional parameters can be set in parameters property."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "RunShellScript",
+ "osType": "Linux",
+ "label": "Executes a Linux shell script",
+ "description": "Custom multiline shell script should be defined in script property. Optional parameters can be set in parameters property."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "ifconfig",
+ "osType": "Linux",
+ "label": "List network configuration",
+ "description": "Get the configuration of all network interfaces."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "EnableAdminAccount",
+ "osType": "Windows",
+ "label": "Enable administrator account",
+ "description": "Checks if the local Administrator account is disabled, and if so enables it."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "ResetAccountPassword",
+ "osType": "Windows",
+ "label": "Reset built-in Administrator account password",
+ "description": "Reset built-in Administrator account password."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "RDPSettings",
+ "osType": "Windows",
+ "label": "Verify RDP Listener Settings",
+ "description": "Checks registry settings and domain policy settings. Suggests policy actions if machine is part of a domain or modifies the settings to default values."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "SetRDPPort",
+ "osType": "Windows",
+ "label": "Set Remote Desktop port",
+ "description": "Sets the default or user specified port number for Remote Desktop connections. Enables firewall rule for inbound access to the port."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "ResetRDPCert",
+ "osType": "Windows",
+ "label": "Restore RDP Authentication mode to defaults",
+ "description": "Removes the SSL certificate tied to the RDP listener and restores the RDP listerner security to default. Use this script if you see any issues with the certificate."
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/runCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/runCommands.json
new file mode 100644
index 000000000000..09fef5bae540
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/runCommands.json
@@ -0,0 +1,1438 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "RunCommandsClient",
+ "description": "The Run Commands Client.",
+ "version": "2021-03-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands": {
+ "get": {
+ "tags": [
+ "VirtualMachineRunCommands"
+ ],
+ "operationId": "VirtualMachineRunCommands_List",
+ "x-ms-examples": {
+ "VirtualMachineRunCommandList": {
+ "$ref": "./examples/VirtualMachineRunCommandList.json"
+ }
+ },
+ "description": "Lists all available run commands for a subscription in a location.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location upon which run commands is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RunCommandListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands/{commandId}": {
+ "get": {
+ "tags": [
+ "VirtualMachineRunCommands"
+ ],
+ "operationId": "VirtualMachineRunCommands_Get",
+ "x-ms-examples": {
+ "VirtualMachineRunCommandGet": {
+ "$ref": "./examples/VirtualMachineRunCommandGet.json"
+ }
+ },
+ "description": "Gets specific run command for a subscription in a location.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location upon which run commands is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "name": "commandId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The command id."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RunCommandDocument"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommand": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_RunCommand",
+ "x-ms-examples": {
+ "VirtualMachineRunCommand": {
+ "$ref": "./examples/VirtualMachineRunCommand.json"
+ }
+ },
+ "description": "Run command on the VM.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RunCommandInput"
+ },
+ "description": "Parameters supplied to the Run command operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RunCommandResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/runCommand": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_RunCommand",
+ "x-ms-examples": {
+ "VirtualMachineScaleSetVMs_RunCommand": {
+ "$ref": "./examples/VMScaleSetRunCommand.json"
+ }
+ },
+ "description": "Run command on a virtual machine in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RunCommandInput"
+ },
+ "description": "Parameters supplied to the Run command operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RunCommandResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommands/{runCommandName}": {
+ "put": {
+ "tags": [
+ "VirtualMachineRunCommands"
+ ],
+ "operationId": "VirtualMachineRunCommands_CreateOrUpdate",
+ "description": "The operation to create or update the run command.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine where the run command should be created or updated."
+ },
+ {
+ "name": "runCommandName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine run command."
+ },
+ {
+ "name": "runCommand",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineRunCommand"
+ },
+ "description": "Parameters supplied to the Create Virtual Machine RunCommand operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineRunCommand"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineRunCommand"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create or update a run command.": {
+ "$ref": "./examples/CreateOrUpdateRunCommand.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VirtualMachineRunCommands"
+ ],
+ "operationId": "VirtualMachineRunCommands_Update",
+ "description": "The operation to update the run command.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine where the run command should be updated."
+ },
+ {
+ "name": "runCommandName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine run command."
+ },
+ {
+ "name": "runCommand",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineRunCommandUpdate"
+ },
+ "description": "Parameters supplied to the Update Virtual Machine RunCommand operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineRunCommand"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a run command.": {
+ "$ref": "./examples/UpdateRunCommand.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "VirtualMachineRunCommands"
+ ],
+ "operationId": "VirtualMachineRunCommands_Delete",
+ "description": "The operation to delete the run command.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine where the run command should be deleted."
+ },
+ {
+ "name": "runCommandName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine run command."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete a run command.": {
+ "$ref": "./examples/DeleteRunCommand.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "VirtualMachineRunCommands"
+ ],
+ "operationId": "VirtualMachineRunCommands_GetByVirtualMachine",
+ "description": "The operation to get the run command.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine containing the run command."
+ },
+ {
+ "name": "runCommandName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine run command."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineRunCommand"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a run command.": {
+ "$ref": "./examples/GetRunCommand.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommands": {
+ "get": {
+ "tags": [
+ "VirtualMachineRunCommands"
+ ],
+ "operationId": "VirtualMachineRunCommands_ListByVirtualMachine",
+ "description": "The operation to get all run commands of a Virtual Machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine containing the run command."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineRunCommandsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List run commands in a Virtual Machine.": {
+ "$ref": "./examples/ListRunCommandsInVM.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/runCommands/{runCommandName}": {
+ "put": {
+ "tags": [
+ "VirtualMachineScaleSetVMRunCommands"
+ ],
+ "operationId": "VirtualMachineScaleSetVMRunCommands_CreateOrUpdate",
+ "description": "The operation to create or update the VMSS VM run command.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "runCommandName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine run command."
+ },
+ {
+ "name": "runCommand",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineRunCommand"
+ },
+ "description": "Parameters supplied to the Create Virtual Machine RunCommand operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineRunCommand"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineRunCommand"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create VirtualMachineScaleSet VM run command.": {
+ "$ref": "./examples/CreateOrUpdateVirtualMachineScaleSetVMRunCommands.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VirtualMachineScaleSetVMRunCommands"
+ ],
+ "operationId": "VirtualMachineScaleSetVMRunCommands_Update",
+ "description": "The operation to update the VMSS VM run command.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "runCommandName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine run command."
+ },
+ {
+ "name": "runCommand",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineRunCommandUpdate"
+ },
+ "description": "Parameters supplied to the Update Virtual Machine RunCommand operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineRunCommand"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update VirtualMachineScaleSet VM run command.": {
+ "$ref": "./examples/UpdateVirtualMachineScaleSetVMRunCommands.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "VirtualMachineScaleSetVMRunCommands"
+ ],
+ "operationId": "VirtualMachineScaleSetVMRunCommands_Delete",
+ "description": "The operation to delete the VMSS VM run command.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "runCommandName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine run command."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete VirtualMachineScaleSet VM run command.": {
+ "$ref": "./examples/DeleteVirtualMachineScaleSetVMRunCommands.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetVMRunCommands"
+ ],
+ "operationId": "VirtualMachineScaleSetVMRunCommands_Get",
+ "description": "The operation to get the VMSS VM run command.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "runCommandName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine run command."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineRunCommand"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get VirtualMachineScaleSet VM run commands.": {
+ "$ref": "./examples/GetVirtualMachineScaleSetVMRunCommands.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/runCommands": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetVMRunCommands"
+ ],
+ "operationId": "VirtualMachineScaleSetVMRunCommands_List",
+ "description": "The operation to get all run commands of an instance in Virtual Machine Scaleset.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineRunCommandsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List run commands in Vmss instance.": {
+ "$ref": "./examples/ListVirtualMachineScaleSetVMRunCommands.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "RunCommandInputParameter": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The run command parameter name."
+ },
+ "value": {
+ "type": "string",
+ "description": "The run command parameter value."
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ],
+ "description": "Describes the properties of a run command parameter."
+ },
+ "RunCommandInput": {
+ "properties": {
+ "commandId": {
+ "type": "string",
+ "description": "The run command id."
+ },
+ "script": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Optional. The script to be executed. When this value is given, the given script will override the default script of the command."
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RunCommandInputParameter"
+ },
+ "description": "The run command parameters."
+ }
+ },
+ "required": [
+ "commandId"
+ ],
+ "description": "Capture Virtual Machine parameters."
+ },
+ "RunCommandParameterDefinition": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The run command parameter name."
+ },
+ "type": {
+ "type": "string",
+ "description": "The run command parameter type."
+ },
+ "defaultValue": {
+ "type": "string",
+ "description": "The run command parameter default value."
+ },
+ "required": {
+ "type": "boolean",
+ "description": "The run command parameter required.",
+ "default": false
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "Describes the properties of a run command parameter."
+ },
+ "RunCommandDocumentBase": {
+ "properties": {
+ "$schema": {
+ "type": "string",
+ "description": "The VM run command schema."
+ },
+ "id": {
+ "type": "string",
+ "description": "The VM run command id."
+ },
+ "osType": {
+ "type": "string",
+ "description": "The Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "label": {
+ "type": "string",
+ "description": "The VM run command label."
+ },
+ "description": {
+ "type": "string",
+ "description": "The VM run command description."
+ }
+ },
+ "required": [
+ "$schema",
+ "id",
+ "osType",
+ "label",
+ "description"
+ ],
+ "description": "Describes the properties of a Run Command metadata."
+ },
+ "RunCommandDocument": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/RunCommandDocumentBase"
+ }
+ ],
+ "properties": {
+ "script": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The script to be executed."
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RunCommandParameterDefinition"
+ },
+ "description": "The parameters used by the script."
+ }
+ },
+ "required": [
+ "script"
+ ],
+ "description": "Describes the properties of a Run Command."
+ },
+ "RunCommandListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RunCommandDocumentBase"
+ },
+ "description": "The list of virtual machine run commands."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of run commands. Call ListNext() with this to fetch the next page of run commands."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Virtual Machine operation response."
+ },
+ "InstanceViewStatus": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The status code."
+ },
+ "level": {
+ "type": "string",
+ "description": "The level code.",
+ "enum": [
+ "Info",
+ "Warning",
+ "Error"
+ ],
+ "x-ms-enum": {
+ "name": "StatusLevelTypes",
+ "modelAsString": false
+ }
+ },
+ "displayStatus": {
+ "type": "string",
+ "description": "The short localizable label for the status."
+ },
+ "message": {
+ "type": "string",
+ "description": "The detailed status message, including for alerts and error messages."
+ },
+ "time": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time of the status."
+ }
+ },
+ "description": "Instance view status."
+ },
+ "RunCommandResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "Run command operation response."
+ }
+ }
+ },
+ "VirtualMachineRunCommandInstanceView": {
+ "properties": {
+ "executionState": {
+ "type": "string",
+ "description": "Script execution status.",
+ "enum": [
+ "Unknown",
+ "Pending",
+ "Running",
+ "Failed",
+ "Succeeded",
+ "TimedOut",
+ "Canceled"
+ ],
+ "x-ms-enum": {
+ "name": "ExecutionState",
+ "modelAsString": true
+ }
+ },
+ "executionMessage": {
+ "type": "string",
+ "description": "Communicate script configuration errors or execution messages."
+ },
+ "exitCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Exit code returned from script execution."
+ },
+ "output": {
+ "type": "string",
+ "description": "Script output stream."
+ },
+ "error": {
+ "type": "string",
+ "description": "Script error stream."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Script start time."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Script end time."
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ }
+ },
+ "description": "The instance view of a virtual machine run command."
+ },
+ "VirtualMachineRunCommandScriptSource": {
+ "properties": {
+ "script": {
+ "type": "string",
+ "description": "Specifies the script content to be executed on the VM."
+ },
+ "scriptUri": {
+ "type": "string",
+ "description": "Specifies the script download location."
+ },
+ "commandId": {
+ "type": "string",
+ "description": "Specifies a commandId of predefined built-in script."
+ }
+ },
+ "description": "Describes the script sources for run command."
+ },
+ "VirtualMachineRunCommandProperties": {
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/VirtualMachineRunCommandScriptSource",
+ "description": "The source of the run command script."
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RunCommandInputParameter"
+ },
+ "description": "The parameters used by the script."
+ },
+ "protectedParameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RunCommandInputParameter"
+ },
+ "description": "The parameters used by the script."
+ },
+ "asyncExecution": {
+ "type": "boolean",
+ "description": "Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete.",
+ "default": false
+ },
+ "runAsUser": {
+ "type": "string",
+ "description": "Specifies the user account on the VM when executing the run command."
+ },
+ "runAsPassword": {
+ "type": "string",
+ "description": "Specifies the user account password on the VM when executing the run command."
+ },
+ "timeoutInSeconds": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The timeout in seconds to execute the run command."
+ },
+ "outputBlobUri": {
+ "type": "string",
+ "description": "Specifies the Azure storage blob where script output stream will be uploaded."
+ },
+ "errorBlobUri": {
+ "type": "string",
+ "description": "Specifies the Azure storage blob where script error stream will be uploaded."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "instanceView": {
+ "readOnly": true,
+ "$ref": "#/definitions/VirtualMachineRunCommandInstanceView",
+ "description": "The virtual machine run command instance view."
+ }
+ },
+ "description": "Describes the properties of a Virtual Machine run command."
+ },
+ "VirtualMachineRunCommand": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineRunCommandProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Describes a Virtual Machine run command."
+ },
+ "VirtualMachineRunCommandUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineRunCommandProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Describes a Virtual Machine run command."
+ },
+ "VirtualMachineRunCommandsListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineRunCommand"
+ },
+ "description": "The list of run commands"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of run commands."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List run command operation response"
+ },
+ "ApiErrorBase": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error base."
+ },
+ "InnerError": {
+ "properties": {
+ "exceptiontype": {
+ "type": "string",
+ "description": "The exception type."
+ },
+ "errordetail": {
+ "type": "string",
+ "description": "The internal error message or exception dump."
+ }
+ },
+ "description": "Inner error details."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ApiError"
+ }
+ },
+ "description": "An error response from the Compute service."
+ },
+ "ApiError": {
+ "properties": {
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiErrorBase"
+ },
+ "description": "The Api error details"
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError",
+ "description": "The Api inner error"
+ },
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error."
+ },
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "UpdateResource": {
+ "description": "The Update Resource model definition.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/readme.azureresourceschema.md b/specification/compute/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index a7370a636445..000000000000
--- a/specification/compute/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,334 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-containerservice-2017-01-31
- - tag: schema-containerservice-2016-09-30
- - tag: schema-containerservice-2016-03-30
- - tag: schema-containerservice-2015-11-01-preview
- - tag: schema-compute-2020-12-01
- - tag: schema-compute-2020-10-01-preview
- - tag: schema-compute-2020-09-30
- - tag: schema-compute-2020-06-30
- - tag: schema-compute-2020-06-01
- - tag: schema-compute-2020-05-01
- - tag: schema-compute-2019-12-01
- - tag: schema-compute-2019-11-01
- - tag: schema-compute-2019-07-01
- - tag: schema-compute-2019-04-01
- - tag: schema-compute-2019-03-01
- - tag: schema-compute-2018-10-01
- - tag: schema-compute-2018-09-30
- - tag: schema-compute-2018-06-01
- - tag: schema-compute-2018-04-01
- - tag: schema-compute-2017-12-01
- - tag: schema-compute-2017-09-01
- - tag: schema-compute-2017-03-30
- - tag: schema-compute-2016-04-30-preview
- - tag: schema-compute-2016-03-30
- - tag: schema-compute-2015-06-15
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-containerservice-2017-01-31 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2017-01-31' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2017-01-31/containerService.json
-
-```
-
-### Tag: schema-containerservice-2016-09-30 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2016-09-30' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2016-09-30/containerService.json
-
-```
-
-### Tag: schema-containerservice-2016-03-30 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2016-03-30' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2016-03-30/containerService.json
-
-```
-
-### Tag: schema-containerservice-2015-11-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2015-11-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/preview/2015-11-01-preview/containerService.json
-
-```
-
-### Tag: schema-compute-2020-12-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-compute-2020-12-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Compute/stable/2020-12-01/compute.json
- - Microsoft.Compute/stable/2020-12-01/runCommands.json
-
-```
-
-### Tag: schema-compute-2020-10-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-compute-2020-10-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Compute/preview/2020-10-01-preview/cloudService.json
-
-```
-
-### Tag: schema-compute-2020-09-30 and azureresourceschema
-
-``` yaml $(tag) == 'schema-compute-2020-09-30' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Compute/stable/2020-09-30/disk.json
- - Microsoft.Compute/preview/2020-09-30/gallery.json
- - Microsoft.Compute/preview/2020-09-30/sharedGallery.json
-
-```
-
-### Tag: schema-compute-2020-06-30 and azureresourceschema
-
-``` yaml $(tag) == 'schema-compute-2020-06-30' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Compute/stable/2020-06-30/disk.json
-
-```
-
-### Tag: schema-compute-2020-06-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-compute-2020-06-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Compute/stable/2020-06-01/compute.json
- - Microsoft.Compute/stable/2020-06-01/runCommands.json
-
-```
-
-### Tag: schema-compute-2020-05-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-compute-2020-05-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Compute/stable/2020-05-01/disk.json
-
-```
-
-### Tag: schema-compute-2019-12-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-compute-2019-12-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Compute/stable/2019-12-01/gallery.json
- - Microsoft.Compute/stable/2019-12-01/compute.json
- - Microsoft.Compute/stable/2019-12-01/runCommands.json
-
-```
-
-### Tag: schema-compute-2019-11-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-compute-2019-11-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Compute/stable/2019-11-01/disk.json
-
-```
-
-### Tag: schema-compute-2019-07-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-compute-2019-07-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Compute/stable/2019-07-01/compute.json
- - Microsoft.Compute/stable/2019-07-01/runCommands.json
- - Microsoft.Compute/stable/2019-07-01/gallery.json
- - Microsoft.Compute/stable/2019-07-01/disk.json
-
-```
-
-### Tag: schema-compute-2019-04-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-compute-2019-04-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Compute/stable/2019-04-01/skus.json
-
-```
-
-### Tag: schema-compute-2019-03-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-compute-2019-03-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Compute/stable/2019-03-01/compute.json
- - Microsoft.Compute/stable/2019-03-01/runCommands.json
- - Microsoft.Compute/stable/2019-03-01/disk.json
- - Microsoft.Compute/stable/2019-03-01/gallery.json
-
-```
-
-### Tag: schema-compute-2018-10-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-compute-2018-10-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Compute/stable/2018-10-01/compute.json
- - Microsoft.Compute/stable/2018-10-01/runCommands.json
-
-```
-
-### Tag: schema-compute-2018-09-30 and azureresourceschema
-
-``` yaml $(tag) == 'schema-compute-2018-09-30' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Compute/stable/2018-09-30/disk.json
-
-```
-
-### Tag: schema-compute-2018-06-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-compute-2018-06-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Compute/stable/2018-06-01/gallery.json
- - Microsoft.Compute/stable/2018-06-01/disk.json
- - Microsoft.Compute/stable/2018-06-01/compute.json
- - Microsoft.Compute/stable/2018-06-01/runCommands.json
-
-```
-
-### Tag: schema-compute-2018-04-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-compute-2018-04-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Compute/stable/2018-04-01/compute.json
- - Microsoft.Compute/stable/2018-04-01/runCommands.json
- - Microsoft.Compute/stable/2018-04-01/disk.json
-
-```
-
-### Tag: schema-compute-2017-12-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-compute-2017-12-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Compute/stable/2017-12-01/compute.json
- - Microsoft.Compute/stable/2017-12-01/runCommands.json
-
-```
-
-### Tag: schema-compute-2017-09-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-compute-2017-09-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Compute/stable/2017-09-01/skus.json
-
-```
-
-### Tag: schema-compute-2017-03-30 and azureresourceschema
-
-``` yaml $(tag) == 'schema-compute-2017-03-30' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Compute/stable/2017-03-30/disk.json
- - Microsoft.Compute/stable/2017-03-30/compute.json
- - Microsoft.Compute/stable/2017-03-30/runCommands.json
-
-```
-
-### Tag: schema-compute-2016-04-30-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-compute-2016-04-30-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Compute/preview/2016-04-30-preview/compute.json
- - Microsoft.Compute/preview/2016-04-30-preview/disk.json
-
-```
-
-### Tag: schema-compute-2016-03-30 and azureresourceschema
-
-``` yaml $(tag) == 'schema-compute-2016-03-30' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Compute/stable/2016-03-30/compute.json
-
-```
-
-### Tag: schema-compute-2015-06-15 and azureresourceschema
-
-``` yaml $(tag) == 'schema-compute-2015-06-15' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Compute/stable/2015-06-15/compute.json
-
-```
diff --git a/specification/compute/resource-manager/readme.go.md b/specification/compute/resource-manager/readme.go.md
index caf87f7f9240..5144774ed3b6 100644
--- a/specification/compute/resource-manager/readme.go.md
+++ b/specification/compute/resource-manager/readme.go.md
@@ -2,9 +2,9 @@
These settings apply only when `--go` is specified on the command line.
-```yaml $(go)
+```yaml $(go) && !(track2)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
directive:
@@ -27,10 +27,25 @@ directive:
replace(/, 'DummyOrchestrationServiceName'/,'');
```
+``` yaml $(go) && $(track2)
+license-header: MICROSOFT_MIT_NO_VERSION
+module-name: sdk/compute/armcompute
+module: github.com/Azure/azure-sdk-for-go/$(module-name)
+output-folder: $(go-sdk-folder)/$(module-name)
+azure-arm: true
+
+directive:
+ - from: disk.json
+ where: "$.definitions.PurchasePlan"
+ transform: >
+ $["x-ms-client-name"] = "DiskPurchasePlan";
+```
+
### Go multi-api
```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 +69,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 5dce0a650bf4..1f07309b64ab 100644
--- a/specification/compute/resource-manager/readme.md
+++ b/specification/compute/resource-manager/readme.md
@@ -61,6 +61,16 @@ directive:
- $.definitions.Snapshot.properties
suppress:
- BodyTopLevelProperties
+ - where:
+ - $.definitions.RestorePointCreate.properties
+ suppress:
+ - BodyTopLevelProperties
+ reason:
+ - CRP has already been using existing ‘RestorePoint’ model definition with these properties as top level properties for many years now.
+ - where:
+ - $.definitions.RestorePoint.properties
+ suppress:
+ - BodyTopLevelProperties
- where:
- $.definitions.VirtualMachineScaleSetExtension
suppress:
@@ -212,7 +222,12 @@ directive:
suppress:
- D5001
reason: The API response has binary format and file type which is valid Swagger format. However, the example must be a JSON file which does not support specifying this response format.
-
+ - where:
+ - $.definitions.RestorePoint
+ suppress:
+ - NestedResourcesMustHaveListOperation
+ reason:
+ - CRP supports the list /restorePoint operation by allowing customers to call Get RestorePointCollection with $expand=RestorePoints
```
### Tag: package-2021-03-01
@@ -220,11 +235,12 @@ These settings apply only when `--tag=package-2021-03-01` is specified on the co
``` yaml $(tag) == 'package-2021-03-01'
input-file:
-- Microsoft.Compute/stable/2020-12-01/compute.json
-- Microsoft.Compute/stable/2020-12-01/runCommands.json
+- Microsoft.Compute/stable/2021-03-01/compute.json
+- Microsoft.Compute/stable/2021-03-01/runCommands.json
- Microsoft.Compute/stable/2019-04-01/skus.json
- Microsoft.Compute/stable/2020-12-01/disk.json
-- Microsoft.Compute/stable/2019-12-01/gallery.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
```
@@ -235,6 +251,8 @@ These settings apply only when `--tag=package-2021-03-01-only` is specified on t
``` yaml $(tag) == 'package-2021-03-01-only'
input-file:
- Microsoft.Compute/stable/2021-03-01/cloudService.json
+- Microsoft.Compute/stable/2021-03-01/compute.json
+- Microsoft.Compute/stable/2021-03-01/runCommands.json
```
### Tag: package-2020-12-01
@@ -833,8 +851,6 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_compute']
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js compute/resource-manager
```
## Go
@@ -856,6 +872,4 @@ input-file:
- Microsoft.Compute/stable/2019-07-01/disk.json
```
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/compute/resource-manager/readme.python.md b/specification/compute/resource-manager/readme.python.md
index fa136eda202b..69726bc4ee7d 100644
--- a/specification/compute/resource-manager/readme.python.md
+++ b/specification/compute/resource-manager/readme.python.md
@@ -7,6 +7,7 @@ azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
package-name: azure-mgmt-compute
no-namespace-folders: true
+package-version: 1.0.0b1
modelerfour:
lenient-model-deduplication: true
@@ -35,7 +36,7 @@ Generate all API versions currently shipped for this package
```yaml $(multiapi)
clear-output-folder: true
batch:
- - tag: package-2021-03-01
+ - 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
@@ -66,12 +67,12 @@ clear-output-folder: false
perform-load: false
```
-### Tag: package-2021-03-01
+### Tag: package-2021-03-01-only
-These settings apply only when `--tag=package-2021-03-01 --python` is specified on the command line.
+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'
+``` 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
```
diff --git a/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/common.json b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/common.json
new file mode 100644
index 000000000000..f65debdd3282
--- /dev/null
+++ b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/common.json
@@ -0,0 +1,69 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "0.1-preview",
+ "title": "ConfidentialLedgerClient",
+ "description": "The ConfidentialLedgerClient writes and retrieves ledger entries against the Confidential Ledger service."
+ },
+ "paths": {},
+ "definitions": {
+ "ConfidentialLedgerError": {
+ "description": "An error response from Confidential Ledger.",
+ "properties": {
+ "error": {
+ "readOnly": true,
+ "$ref": "#/definitions/ConfidentialLedgerErrorBody"
+ }
+ },
+ "type": "object"
+ },
+ "ConfidentialLedgerErrorBody": {
+ "description": "An error response from Confidential Ledger.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The error code."
+ },
+ "message": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The error message."
+ },
+ "innererror": {
+ "x-ms-client-name": "innerError",
+ "readOnly": true,
+ "$ref": "#/definitions/ConfidentialLedgerErrorBody"
+ }
+ },
+ "x-nullable": true,
+ "type": "object"
+ },
+ "ConfidentialLedgerInnerError": {
+ "description": "An inner error response from Confidential Ledger.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The error code."
+ },
+ "innererror": {
+ "x-ms-client-name": "innerError",
+ "readOnly": true,
+ "$ref": "#/definitions/ConfidentialLedgerErrorBody"
+ }
+ },
+ "x-nullable": true,
+ "type": "object"
+ }
+ },
+ "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/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/confidentialledger.json b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/confidentialledger.json
new file mode 100644
index 000000000000..07c6317a8f9b
--- /dev/null
+++ b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/confidentialledger.json
@@ -0,0 +1,863 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "0.1-preview",
+ "title": "ConfidentialLedgerClient",
+ "description": "The ConfidentialLedgerClient writes and retrieves ledger entries against the Confidential Ledger service."
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{ledgerUri}",
+ "useSchemePrefix": false,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "name": "ledgerUri",
+ "description": "The Confidential Ledger URL, for example https://contoso.confidentialledger.azure.com",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "format": "url",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "client"
+ }
+ ]
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/app/governance/constitution": {
+ "get": {
+ "operationId": "ConfidentialLedger_GetConstitution",
+ "x-ms-examples": {
+ "GetConstitution": {
+ "$ref": "./examples/ledger/GetConstitution.json"
+ }
+ },
+ "summary": "Gets the constitution used for governance.",
+ "description": "The constitution is a script that assesses and applies proposals from consortium members.",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The constitution.",
+ "schema": {
+ "$ref": "#/definitions/Constitution"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/ConfidentialLedgerError"
+ }
+ }
+ }
+ }
+ },
+ "/app/governance/members": {
+ "get": {
+ "operationId": "ConfidentialLedger_GetConsortiumMembers",
+ "x-ms-examples": {
+ "GetConsortiumMembers": {
+ "$ref": "./examples/ledger/GetConsortiumMembers.json"
+ }
+ },
+ "summary": "Gets the consortium members.",
+ "description": "Consortium members can manage the Confidential Ledger.",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of consortium members.",
+ "schema": {
+ "$ref": "#/definitions/Consortium"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/ConfidentialLedgerError"
+ }
+ }
+ }
+ }
+ },
+ "/app/enclaveQuotes": {
+ "get": {
+ "operationId": "ConfidentialLedger_GetEnclaveQuotes",
+ "x-ms-examples": {
+ "GetEnclaveQuotes": {
+ "$ref": "./examples/ledger/GetEnclaveQuotes.json"
+ }
+ },
+ "summary": "Gets quotes for all nodes of the Confidential Ledger.",
+ "description": "A quote is an SGX enclave measurement that can be used to verify the validity of a node and its enclave.",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Response containing enclave quotes.",
+ "schema": {
+ "$ref": "#/definitions/ConfidentialLedgerEnclaves"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "common.json#/definitions/ConfidentialLedgerError"
+ }
+ }
+ }
+ }
+ },
+ "/app/transactions": {
+ "get": {
+ "operationId": "ConfidentialLedger_GetLedgerEntries",
+ "x-ms-examples": {
+ "GetLedgerEntries": {
+ "$ref": "./examples/ledger/GetLedgerEntries.json"
+ }
+ },
+ "x-ms-pageable": {
+ "itemName": "entries",
+ "nextLinkName": "@nextLink"
+ },
+ "summary": "Gets ledger entries from a sub-ledger corresponding to a range.",
+ "description": "A sub-ledger id may optionally be specified. Only entries in the specified (or default) sub-ledger will be returned.",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubLedgerIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TransactionIdFromParameter"
+ },
+ {
+ "$ref": "#/parameters/TransactionIdToParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ledger entries in the specified range.",
+ "schema": {
+ "$ref": "#/definitions/PagedLedgerEntries"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "common.json#/definitions/ConfidentialLedgerError"
+ }
+ }
+ }
+ },
+ "post": {
+ "operationId": "ConfidentialLedger_PostLedgerEntry",
+ "x-ms-examples": {
+ "PostLedgerEntry": {
+ "$ref": "./examples/ledger/PostLedgerEntry.json"
+ }
+ },
+ "summary": "Writes a ledger entry.",
+ "description": "A sub-ledger id may optionally be specified.",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubLedgerIdParameter"
+ },
+ {
+ "in": "body",
+ "name": "entry",
+ "description": "Ledger entry.",
+ "schema": {
+ "$ref": "#/definitions/LedgerEntry"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the transaction id at which the write will be durably stored.",
+ "headers": {
+ "x-ms-ccf-transaction-id": {
+ "type": "string",
+ "description": "The transaction id at which this write will become durable."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/LedgerWriteResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "common.json#/definitions/ConfidentialLedgerError"
+ }
+ }
+ }
+ }
+ },
+ "/app/transactions/{transactionId}": {
+ "get": {
+ "operationId": "ConfidentialLedger_GetLedgerEntry",
+ "x-ms-examples": {
+ "GetLedgerEntry": {
+ "$ref": "./examples/ledger/GetLedgerEntry.json"
+ }
+ },
+ "summary": "Gets the ledger entry at the specified transaction id. A sub-ledger id may optionally be specified to indicate the sub-ledger from which to fetch the value.",
+ "description": "To return older ledger entries, the relevant sections of the ledger must be read from disk and validated. To prevent blocking within the enclave, the response will indicate whether the entry is ready and part of the response, or if the loading is still ongoing.",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubLedgerIdParameter"
+ },
+ {
+ "$ref": "#/parameters/TransactionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The result of querying the Confidential Ledger.",
+ "schema": {
+ "$ref": "#/definitions/LedgerQueryResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/ConfidentialLedgerError"
+ }
+ }
+ }
+ }
+ },
+ "/app/transactions/{transactionId}/receipt": {
+ "get": {
+ "operationId": "ConfidentialLedger_GetReceipt",
+ "x-ms-examples": {
+ "GetReceipt": {
+ "$ref": "./examples/ledger/GetReceipt.json"
+ }
+ },
+ "summary": "Gets a receipt certifying ledger contents at a particular transaction id.",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TransactionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The receipt for the write occurring at the transaction id.",
+ "schema": {
+ "$ref": "#/definitions/TransactionReceipt"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "common.json#/definitions/ConfidentialLedgerError"
+ }
+ }
+ }
+ }
+ },
+ "/app/transactions/{transactionId}/status": {
+ "get": {
+ "operationId": "ConfidentialLedger_GetTransactionStatus",
+ "x-ms-examples": {
+ "GetTransactionStatus": {
+ "$ref": "./examples/ledger/GetTransactionStatus.json"
+ }
+ },
+ "summary": "Gets the status of an entry identified by a transaction id.",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/TransactionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The status of the entry recorded at the specified transaction id.",
+ "schema": {
+ "$ref": "#/definitions/TransactionStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "common.json#/definitions/ConfidentialLedgerError"
+ }
+ }
+ }
+ }
+ },
+ "/app/transactions/current": {
+ "get": {
+ "operationId": "ConfidentialLedger_GetCurrentLedgerEntry",
+ "x-ms-examples": {
+ "GetCurrentLedgerEntry": {
+ "$ref": "./examples/ledger/GetCurrentLedgerEntry.json"
+ }
+ },
+ "summary": "Gets the current value available in the ledger.",
+ "description": "A sub-ledger id may optionally be specified.",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubLedgerIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The current ledger entry available on the receiving node. Non-primary nodes may return older values.",
+ "schema": {
+ "$ref": "#/definitions/LedgerEntry"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "common.json#/definitions/ConfidentialLedgerError"
+ }
+ }
+ }
+ }
+ },
+ "/app/users/{userId}": {
+ "delete": {
+ "operationId": "ConfidentialLedger_DeleteUser",
+ "x-ms-examples": {
+ "DeleteUser": {
+ "$ref": "./examples/ledger/DeleteUser.json"
+ }
+ },
+ "summary": "Deletes a user from the Confidential Ledger.",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/UserIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The specified user is deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "common.json#/definitions/ConfidentialLedgerError"
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "ConfidentialLedger_GetUser",
+ "x-ms-examples": {
+ "GetUser": {
+ "$ref": "./examples/ledger/GetUser.json"
+ }
+ },
+ "summary": "Gets a user.",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/UserIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Details about the specified user.",
+ "schema": {
+ "$ref": "#/definitions/LedgerUser"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "common.json#/definitions/ConfidentialLedgerError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "operationId": "ConfidentialLedger_CreateOrUpdateUser",
+ "x-ms-examples": {
+ "CreateOrUpdateUser": {
+ "$ref": "./examples/ledger/CreateOrUpdateUser.json"
+ }
+ },
+ "summary": "Adds a user or updates a user's fields.",
+ "description": "A JSON merge patch is applied for existing users",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "#/parameters/UserDetailsParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "User created or updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/LedgerUser"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "common.json#/definitions/ConfidentialLedgerError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ConfidentialLedgerEnclaves": {
+ "description": "Information about the enclaves running the Confidential Ledger.",
+ "required": [
+ "currentNodeId",
+ "enclaveQuotes"
+ ],
+ "properties": {
+ "currentNodeId": {
+ "description": "Id of the Confidential Ledger node responding to the request.",
+ "$ref": "#/definitions/EntityId"
+ },
+ "enclaveQuotes": {
+ "$ref": "#/definitions/EnclaveQuotes"
+ }
+ },
+ "type": "object"
+ },
+ "Consortium": {
+ "description": "List of members in the consortium.",
+ "required": [
+ "members"
+ ],
+ "properties": {
+ "members": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConsortiumMember"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "ConsortiumMember": {
+ "description": "Describes a member of the consortium.",
+ "required": [
+ "certificate",
+ "id"
+ ],
+ "properties": {
+ "certificate": {
+ "type": "string",
+ "description": "PEM-encoded certificate associated with the member."
+ },
+ "id": {
+ "description": "Identifier assigned to the member.",
+ "$ref": "#/definitions/EntityId"
+ }
+ },
+ "type": "object"
+ },
+ "Constitution": {
+ "description": "The governance script for the application.",
+ "required": [
+ "digest",
+ "script"
+ ],
+ "properties": {
+ "digest": {
+ "description": "SHA256 digest of the constitution script.",
+ "type": "string"
+ },
+ "script": {
+ "description": "Contents of the constitution.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EnclaveQuote": {
+ "description": "Contains the enclave quote.",
+ "required": [
+ "nodeId",
+ "quoteVersion",
+ "raw"
+ ],
+ "properties": {
+ "nodeId": {
+ "description": "ID assigned to this node.",
+ "$ref": "#/definitions/EntityId"
+ },
+ "mrenclave": {
+ "description": "MRENCLAVE value of the code running in the enclave.",
+ "type": "string"
+ },
+ "quoteVersion": {
+ "description": "Version of the quote presented.",
+ "type": "string"
+ },
+ "raw": {
+ "description": "Raw SGX quote, parsable by tools like Open Enclave's oeverify.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EnclaveQuotes": {
+ "description": "Dictionary of enclave quotes, indexed by node id.",
+ "additionalProperties": {
+ "$ref": "#/definitions/EnclaveQuote"
+ },
+ "type": "object"
+ },
+ "EntityId": {
+ "description": "Identifier for an entity.",
+ "type": "string"
+ },
+ "LedgerEntries": {
+ "description": "Array of ledger entries.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LedgerEntry"
+ }
+ },
+ "LedgerEntry": {
+ "description": "An entry in the ledger.",
+ "required": [
+ "contents"
+ ],
+ "properties": {
+ "contents": {
+ "type": "string",
+ "description": "Contents of the ledger entry."
+ },
+ "subLedgerId": {
+ "$ref": "#/definitions/SubLedgerId",
+ "readOnly": true
+ },
+ "transactionId": {
+ "$ref": "#/definitions/TransactionId",
+ "readOnly": true
+ }
+ },
+ "type": "object"
+ },
+ "LedgerQueryResult": {
+ "description": "The result of querying for a ledger entry from an older transaction id. The ledger entry is available in the response only if the returned state is Ready.",
+ "required": [
+ "state"
+ ],
+ "properties": {
+ "state": {
+ "$ref": "#/definitions/LedgerQueryState"
+ },
+ "entry": {
+ "description": "The ledger entry found as a result of the query. This is only available if the query is in Ready state.",
+ "$ref": "#/definitions/LedgerEntry"
+ }
+ },
+ "type": "object"
+ },
+ "LedgerQueryState": {
+ "description": "State of a ledger query.",
+ "type": "string",
+ "enum": [
+ "Loading",
+ "Ready"
+ ],
+ "x-ms-enum": {
+ "name": "ConfidentialLedgerQueryState",
+ "modelAsString": true
+ }
+ },
+ "LedgerUser": {
+ "description": "Details about a Confidential Ledger user.",
+ "required": [
+ "assignedRole"
+ ],
+ "properties": {
+ "assignedRole": {
+ "$ref": "#/definitions/LedgerUserRole"
+ },
+ "userId": {
+ "$ref": "#/definitions/UserId",
+ "readOnly": true
+ }
+ },
+ "type": "object"
+ },
+ "LedgerUserRole": {
+ "type": "string",
+ "description": "Represents an assignable role.",
+ "enum": [
+ "Administrator",
+ "Contributor",
+ "Reader"
+ ],
+ "x-ms-enum": {
+ "name": "ConfidentialLedgerUserRoleName",
+ "modelAsString": true
+ }
+ },
+ "LedgerWriteResult": {
+ "description": "Returned as a result of a write to the Confidential Ledger, the transaction id in the response indicates when the write will become durable.",
+ "required": [
+ "subLedgerId"
+ ],
+ "properties": {
+ "subLedgerId": {
+ "$ref": "#/definitions/SubLedgerId"
+ }
+ },
+ "type": "object"
+ },
+ "MerkleProof": {
+ "description": "The Merkle proof verifying a transaction.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MerkleProofElement"
+ }
+ },
+ "MerkleProofElement": {
+ "description": "An item in the Merkle proof.",
+ "type": "object",
+ "properties": {
+ "left": {
+ "type": "string"
+ },
+ "right": {
+ "type": "string"
+ }
+ }
+ },
+ "PagedLedgerEntries": {
+ "description": "Paginated ledger entries returned in response to a query.",
+ "type": "object",
+ "required": [
+ "state",
+ "entries"
+ ],
+ "properties": {
+ "state": {
+ "$ref": "#/definitions/LedgerQueryState"
+ },
+ "@nextLink": {
+ "description": "Path from which to retrieve the next page of results.",
+ "type": "string"
+ },
+ "entries": {
+ "$ref": "#/definitions/LedgerEntries"
+ }
+ }
+ },
+ "ReceiptContents": {
+ "description": "A receipt certifying the transaction at the specified id.",
+ "required": [
+ "leaf",
+ "nodeId",
+ "proof",
+ "root",
+ "signature"
+ ],
+ "type": "object",
+ "properties": {
+ "leaf": {
+ "description": "Merkle tree leaf for this transaction.",
+ "type": "string"
+ },
+ "nodeId": {
+ "description": "Id of the node returning the receipt.",
+ "$ref": "#/definitions/EntityId"
+ },
+ "proof": {
+ "description": "Merkle proof.",
+ "$ref": "#/definitions/MerkleProof"
+ },
+ "root": {
+ "description": "Root of the Merkle tree at the time the transaction was recorded.",
+ "type": "string"
+ },
+ "signature": {
+ "description": "Signature by the node, with its certificate, over the Merkle root.",
+ "type": "string"
+ }
+ }
+ },
+ "RoleAssignment": {
+ "description": "Object for assigning a role to a user.",
+ "required": [
+ "roleName"
+ ],
+ "properties": {
+ "roleName": {
+ "$ref": "#/definitions/LedgerUserRole"
+ },
+ "description": {
+ "description": "Description of the role.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SubLedgerId": {
+ "description": "Identifier for sub-ledgers.",
+ "type": "string"
+ },
+ "TransactionId": {
+ "description": "A unique identifier for the state of the ledger. If returned as part of a LedgerEntry, it indicates the state from which the entry was read.",
+ "type": "string"
+ },
+ "TransactionReceipt": {
+ "description": "A receipt certifying the transaction at the specified id.",
+ "required": [
+ "state",
+ "transactionId"
+ ],
+ "properties": {
+ "receipt": {
+ "$ref": "#/definitions/ReceiptContents"
+ },
+ "state": {
+ "$ref": "#/definitions/LedgerQueryState"
+ },
+ "transactionId": {
+ "$ref": "#/definitions/TransactionId"
+ }
+ },
+ "type": "object"
+ },
+ "TransactionState": {
+ "type": "string",
+ "description": "Represents the state of the transaction.",
+ "enum": [
+ "Committed",
+ "Pending"
+ ],
+ "x-ms-enum": {
+ "name": "TransactionState",
+ "modelAsString": true
+ }
+ },
+ "TransactionStatus": {
+ "description": "Response returned to a query for the transaction status",
+ "required": [
+ "state",
+ "transactionId"
+ ],
+ "properties": {
+ "state": {
+ "$ref": "#/definitions/TransactionState"
+ },
+ "transactionId": {
+ "$ref": "#/definitions/TransactionId"
+ }
+ },
+ "type": "object"
+ },
+ "UserId": {
+ "description": "Identifier for the user. This must either be an AAD object id or a certificate fingerprint.",
+ "type": "string"
+ }
+ },
+ "parameters": {
+ "CommitParameter": {
+ "name": "commit",
+ "in": "query",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "maximum": 9223372036854775807,
+ "minimum": -9223372036854775808,
+ "type": "integer",
+ "description": "The commit in the consensus protocol."
+ },
+ "SubLedgerIdParameter": {
+ "name": "subLedgerId",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "description": "The sub-ledger id.",
+ "type": "string"
+ },
+ "TransactionIdParameter": {
+ "name": "transactionId",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "description": "Identifies a write transaction.",
+ "type": "string"
+ },
+ "TransactionIdFromParameter": {
+ "name": "fromTransactionId",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "description": "Specify the first transaction ID in a range.",
+ "type": "string"
+ },
+ "TransactionIdToParameter": {
+ "name": "toTransactionId",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "description": "Specify the last transaction ID in a range.",
+ "type": "string"
+ },
+ "UserDetailsParameter": {
+ "name": "userDetails",
+ "description": "Details about a Confidential Ledger user.",
+ "in": "body",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "schema": {
+ "$ref": "#/definitions/LedgerUser"
+ }
+ },
+ "UserIdParameter": {
+ "name": "userId",
+ "in": "path",
+ "required": true,
+ "description": "The user id, either an AAD object ID or certificate fingerprint.",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/identity/GetLedgerIdentity.json b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/identity/GetLedgerIdentity.json
new file mode 100644
index 000000000000..04393814b433
--- /dev/null
+++ b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/identity/GetLedgerIdentity.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "0.1-preview",
+ "ledgerId": "contoso-ledger-12345",
+ "identityServiceUri": "identity.accledger.azure.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "ledgerTlsCertificate": "-----BEGIN CERTIFICATE-----\nMIIBvjCCAUKgAwIBAgIQVL+0VqZp3VzMyFKqD4Cs8zAMBggqhkjOPQQDAwUAMBYx\nFDASBgNVBAMMC0NDRiBOZXR3b3JrMB4XDTE5MTEwMTAwMDAwMFoXDTIxMTIzMTIz\nNTk1OVowFjEUMBIGA1UEAwwLQ0NGIE5ldHdvcmswdjAQBgcqhkjOPQIBBgUrgQQA\nIgNiAATBm4jNV4Kyj6bc/iMKDEXTCyU6P6U1KWAiDodl+Jd8aDJsBwLimtg4QCug\n1mpHnVPmcbPAbNM11+xrLHuFEfuZlS3DI+CCX8FUB2VvDVT3SfWLDVmr1xLStTDH\nuN4YjBOjUzBRMA8GA1UdEwQIMAYBAf8CAQAwHQYDVR0OBBYEFGSdsThwxrTOEQxb\nZ2NsslNvJRYkMB8GA1UdIwQYMBaAFGSdsThwxrTOEQxbZ2NsslNvJRYkMAwGCCqG\nSM49BAMDBQADaAAwZQIwJLLWllNZ83ym/HQuvtGGSdF/RCZwUoh+yhad/vUfVnhE\n2dYLDDEJOORpxpEIVfXgAjEA/CLcRwSZxzEmLDYe1y4puXKuSDCUiu+bKYgdvRLj\nRQJgTygutcTdI64sSweqPveK\n-----END CERTIFICATE-----\n\u0000"
+ }
+ }
+ }
+}
diff --git a/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/CreateOrUpdateUser.json b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/CreateOrUpdateUser.json
new file mode 100644
index 000000000000..eedc93237de6
--- /dev/null
+++ b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/CreateOrUpdateUser.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "0.1-preview",
+ "ledgerUri": "myledger.eastus.cloudapp.azure.com",
+ "userId": "AAD object id",
+ "userDetails": {
+ "assignedRole": "Reader"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "assignedRole": "Reader",
+ "userId": "AAD object id"
+ }
+ }
+ }
+}
diff --git a/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/DeleteUser.json b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/DeleteUser.json
new file mode 100644
index 000000000000..7b091f1351c6
--- /dev/null
+++ b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/DeleteUser.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "api-version": "0.1-preview",
+ "ledgerUri": "myledger.eastus.cloudapp.azure.com",
+ "userId": "AAD object id"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetConsortiumMembers.json b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetConsortiumMembers.json
new file mode 100644
index 000000000000..f52b3045404a
--- /dev/null
+++ b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetConsortiumMembers.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "0.1-preview",
+ "ledgerUri": "myledger.eastus.cloudapp.azure.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "members": [
+ {
+ "certificate": "",
+ "id": "0"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetConstitution.json b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetConstitution.json
new file mode 100644
index 000000000000..0dc392c47715
--- /dev/null
+++ b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetConstitution.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "0.1-preview",
+ "ledgerUri": "myledger.eastus.cloudapp.azure.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "digest": "cd04f484d93a13df44eab4235c14df37e20907b3216c5a37b9e484a363a76c8e",
+ "script": ""
+ }
+ }
+ }
+}
diff --git a/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetCurrentLedgerEntry.json b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetCurrentLedgerEntry.json
new file mode 100644
index 000000000000..274026447b12
--- /dev/null
+++ b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetCurrentLedgerEntry.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "0.1-preview",
+ "ledgerUri": "myledger.eastus.cloudapp.azure.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "contents": "Current ledger entry contents.",
+ "subLedgerId": "DEFAULT_SUBLEDGER",
+ "transactionId": "4.2"
+ }
+ }
+ }
+}
diff --git a/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetEnclaveQuotes.json b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetEnclaveQuotes.json
new file mode 100644
index 000000000000..51ffbf7b1b3d
--- /dev/null
+++ b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetEnclaveQuotes.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "0.1-preview",
+ "ledgerUri": "myledger.eastus.cloudapp.azure.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "currentNodeId": "0",
+ "enclaveQuotes": {
+ "0": {
+ "mrenclave": "9b4b6890a5fff10854e3ca4fa5af5801dae57a46bfef3f23749bf47a61a1b1d7",
+ "nodeId": "0",
+ "raw": "0100000002000000e811000000000000030002000000000005000a00939a7233f79c4ca9940a0db3957f06074b17f6b893ef49abff5c9b689576dc08000000000f0f0305ff80060000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000000007000000000000009b4b6890a5fff10854e3ca4fa5af5801dae57a46bfef3f23749bf47a61a1b1d700000000000000000000000000000000000000000000000000000000000000005bebf77a60c142b06ec46417957f4374b42102092d2ac7465daa3af9a62fcd7f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a7c7f007fe7242cb20ad7d6eda114b47dfd92b1f615ae728a777852ce1377e2000000000000000000000000000000000000000000000000000000000000000034100000014d855131f932a590d06f9d6d6e0f2ade47054c7a9c5de61d38ccc2f35f4c00aa83ec2b3c3642af9aa050555a23c1272c1cdb0563a4e4264552a6a8514f5671378f81f331f54a8a2965275d64c061246d64c18df5b3383a498d3b5a4e997734bb35a09b0e8374bb039889dc168523251a90d8d96d921f697efb342a6534333c0f0f0305ff8006000000000000000000000000000000000000000000000000000000000000000000000000000000000015000000000000000700000000000000cdcadfb7db22ada5fd603455cde1bf9fa258fa5f284dcd6e0c63392f633a110500000000000000000000000000000000000000000000000000000000000000008c4f5775d796503e96137f77c68a829a0056ac8ded70140b081b094490c57bff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004cb3dda245424884c47313c09366c2103703cbdef3a75f20316a2796d9243e6b0000000000000000000000000000000000000000000000000000000000000000326e8be8be9b1e8f3fb3a44d8743ca30d4cde23750294f51f282401adf08334ff280afdb1b6d912b39e2c7931837f2ac91f17689ca9cb943f5a491d60bb314332000000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f0500cc0d00002d2d2d2d2d424547494e2043455254494649434154452d2d2d2d2d0a4d494945674443434243616741774942416749555576735257764147614b502b724b36424449515776477948656a6777436759494b6f5a497a6a3045417749770a6354456a4d4345474131554541777761535735305a577767553064594946424453794251636d396a5a584e7a6233496751304578476a415942674e5642416f4d0a45556c756447567349454e76636e4276636d4630615739754d5251774567594456515148444174545957353059534244624746795954454c4d416b47413155450a4341774351304578437a414a42674e5642415954416c56544d423458445449774d4459784f4441774d5449304f466f58445449334d4459784f4441774d5449300a4f466f77634445694d434147413155454177775a535735305a5777675530645949464244537942445a584a3061575a70593246305a5445614d426747413155450a43677752535735305a577767513239796347397959585270623234784644415342674e564241634d43314e68626e526849454e7359584a684d517377435159440a5651514944414a445154454c4d416b474131554542684d4356564d775754415442676371686b6a4f5051494242676771686b6a4f50514d4242774e43414154570a663645447136324762714844326677574564656538645853645179694e665039493945594a59472b3770475a586b326173775370374f3876456d58425a52345a0a6b713075452f65687233435935793774323246786f3449436d7a434341706377487759445652306a42426777466f4155304f6971326e58582b53354a463567380a6578526c304e587957553077587759445652306642466777566a42556f464b6755495a4f6148523063484d364c79396863476b7564484a316333526c5a484e6c0a636e5a705932567a4c6d6c75644756734c6d4e766253397a5a3367765932567964476c6d61574e6864476c76626939324d6939775932746a636d772f593245390a63484a765932567a633239794d4230474131556444675157424253334b5969495a66795a7449432b4f4b7a4c365142446c5465384144414f42674e56485138420a4166384542414d434273417744415944565230544151482f42414977414443434164514743537147534962345451454e4151534341635577676748424d4234470a43697147534962345451454e415145454547462f622f39427666662b6c75427a75747a6d646d34776767466b42676f71686b69472b453042445145434d4949420a5644415142677371686b69472b4530424451454341514942447a415142677371686b69472b4530424451454341674942447a415142677371686b69472b4530420a4451454341774942416a415142677371686b69472b45304244514543424149424244415142677371686b69472b453042445145434251494241544152426773710a686b69472b4530424451454342674943414941774541594c4b6f5a496876684e4151304241676343415159774541594c4b6f5a496876684e41513042416767430a415141774541594c4b6f5a496876684e4151304241676b43415141774541594c4b6f5a496876684e4151304241676f43415141774541594c4b6f5a496876684e0a4151304241677343415141774541594c4b6f5a496876684e4151304241677743415141774541594c4b6f5a496876684e4151304241673043415141774541594c0a4b6f5a496876684e4151304241673443415141774541594c4b6f5a496876684e4151304241673843415141774541594c4b6f5a496876684e41513042416841430a415141774541594c4b6f5a496876684e415130424168454341516f774877594c4b6f5a496876684e4151304241684945454138504167514267415941414141410a41414141414141774541594b4b6f5a496876684e4151304241775143414141774641594b4b6f5a496876684e4151304242415147414a4275315141414d4138470a43697147534962345451454e4151554b41514177436759494b6f5a497a6a3045417749445341417752514968414b582b324343704b525652654d2b4d7543366a0a7477634d502b2b4645396667365a4f696d55464a55474478416941684d6a743258323651662b4247344965456f665547537070364f792b68494e704d48626d7a0a4f4a596279513d3d0a2d2d2d2d2d454e442043455254494649434154452d2d2d2d2d0a2d2d2d2d2d424547494e2043455254494649434154452d2d2d2d2d0a4d4949436c7a4343416a36674177494241674956414e446f71747031312f6b7553526559504873555a644456386c6c4e4d416f4743437147534d343942414d430a4d476778476a415942674e5642414d4d45556c756447567349464e48574342536232393049454e424d526f77474159445651514b4442464a626e526c624342440a62334a7762334a6864476c76626a45554d424947413155454277774c553246756447456751327868636d4578437a414a42674e564241674d416b4e424d5173770a435159445651514745774a56557a4165467730784f4441314d6a45784d4451314d4468614677307a4d7a41314d6a45784d4451314d4468614d484578497a41680a42674e5642414d4d476b6c756447567349464e48574342515130736755484a765932567a6332397949454e424d526f77474159445651514b4442464a626e526c0a6243424462334a7762334a6864476c76626a45554d424947413155454277774c553246756447456751327868636d4578437a414a42674e564241674d416b4e420a4d517377435159445651514745774a56557a425a4d424d4742797147534d34394167454743437147534d34394177454841304941424c39712b4e4d7032494f670a74646c31626b2f75575a352b5447516d38614369387a373866732b664b435133642b75447a586e56544154325a68444369667949754a77764e33774e427039690a484253534d4a4d4a72424f6a6762737767626777487759445652306a42426777466f4155496d554d316c71644e496e7a6737535655723951477a6b6e427177770a556759445652306642457377535442486f45576751345a426148523063484d364c79396a5a584a3061575a70593246305a584d7564484a316333526c5a484e6c0a636e5a705932567a4c6d6c75644756734c6d4e766253394a626e526c62464e4857464a76623352445153356a636d7777485159445652304f42425945464e446f0a71747031312f6b7553526559504873555a644456386c6c4e4d41344741315564447745422f77514541774942426a415342674e5648524d4241663845434441470a4151482f416745414d416f4743437147534d343942414d43413063414d45514349432f396a2b3834542b487a74564f2f734f5142574a6253642b2f327565784b0a342b6141306a6346424c63704169413364684d72463563443532743646714d764149706a385864476d79326265656c6a4c4a4b2b707a706352413d3d0a2d2d2d2d2d454e442043455254494649434154452d2d2d2d2d0a2d2d2d2d2d424547494e2043455254494649434154452d2d2d2d2d0a4d4949436a6a4343416a53674177494241674955496d554d316c71644e496e7a6737535655723951477a6b6e42717777436759494b6f5a497a6a3045417749770a614445614d4267474131554541777752535735305a5777675530645949464a766233516751304578476a415942674e5642416f4d45556c756447567349454e760a636e4276636d4630615739754d5251774567594456515148444174545957353059534244624746795954454c4d416b47413155454341774351304578437a414a0a42674e5642415954416c56544d423458445445344d4455794d5445774e4445784d566f5844544d7a4d4455794d5445774e4445784d466f77614445614d4267470a4131554541777752535735305a5777675530645949464a766233516751304578476a415942674e5642416f4d45556c756447567349454e76636e4276636d46300a615739754d5251774567594456515148444174545957353059534244624746795954454c4d416b47413155454341774351304578437a414a42674e56424159540a416c56544d466b77457759484b6f5a497a6a3043415159494b6f5a497a6a3044415163445167414543366e45774d4449595a4f6a2f69505773437a61454b69370a314f694f534c52466857476a626e42564a66566e6b59347533496a6b4459594c304d784f346d717379596a6c42616c54565978465032734a424b357a6c4b4f420a757a43427544416642674e5648534d4547444157674251695a517a575770303069664f44744a5653763141624f5363477244425342674e5648523845537a424a0a4d45656752614244686b466f64485277637a6f764c324e6c636e52705a6d6c6a5958526c63793530636e567a6447566b63325679646d6c6a5a584d75615735300a5a577775593239744c306c756447567355306459556d397664454e424c6d4e796244416442674e564851344546675155496d554d316c71644e496e7a673753560a55723951477a6b6e4271777744675944565230504151482f42415144416745474d42494741315564457745422f7751494d4159424166384341514577436759490a4b6f5a497a6a30454177494453414177525149675151732f30387279636450617543466b3855505158434d416c736c6f4265374e7761514754636470613045430a495143557438534776784b6d6a70634d2f7a3057503944766f3868326b3564753169574464426b416e2b306969413d3d0a2d2d2d2d2d454e442043455254494649434154452d2d2d2d2d0a00",
+ "quoteVersion": "sgx-quote-1"
+ },
+ "1": {
+ "mrenclave": "9b4b6890a5fff10854e3ca4fa5af5801dae57a46bfef3f23749bf47a61a1b1d7",
+ "nodeId": "1",
+ "raw": "0100000002000000e811000000000000030002000000000005000a00939a7233f79c4ca9940a0db3957f06074b17f6b893ef49abff5c9b689576dc08000000000f0f0305ff80060000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000000007000000000000009b4b6890a5fff10854e3ca4fa5af5801dae57a46bfef3f23749bf47a61a1b1d700000000000000000000000000000000000000000000000000000000000000005bebf77a60c142b06ec46417957f4374b42102092d2ac7465daa3af9a62fcd7f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a7c7f007fe7242cb20ad7d6eda114b47dfd92b1f615ae728a777852ce1377e2000000000000000000000000000000000000000000000000000000000000000034100000014d855131f932a590d06f9d6d6e0f2ade47054c7a9c5de61d38ccc2f35f4c00aa83ec2b3c3642af9aa050555a23c1272c1cdb0563a4e4264552a6a8514f5671378f81f331f54a8a2965275d64c061246d64c18df5b3383a498d3b5a4e997734bb35a09b0e8374bb039889dc168523251a90d8d96d921f697efb342a6534333c0f0f0305ff8006000000000000000000000000000000000000000000000000000000000000000000000000000000000015000000000000000700000000000000cdcadfb7db22ada5fd603455cde1bf9fa258fa5f284dcd6e0c63392f633a110500000000000000000000000000000000000000000000000000000000000000008c4f5775d796503e96137f77c68a829a0056ac8ded70140b081b094490c57bff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004cb3dda245424884c47313c09366c2103703cbdef3a75f20316a2796d9243e6b0000000000000000000000000000000000000000000000000000000000000000326e8be8be9b1e8f3fb3a44d8743ca30d4cde23750294f51f282401adf08334ff280afdb1b6d912b39e2c7931837f2ac91f17689ca9cb943f5a491d60bb314332000000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f0500cc0d00002d2d2d2d2d424547494e2043455254494649434154452d2d2d2d2d0a4d494945674443434243616741774942416749555576735257764147614b502b724b36424449515776477948656a6777436759494b6f5a497a6a3045417749770a6354456a4d4345474131554541777761535735305a577767553064594946424453794251636d396a5a584e7a6233496751304578476a415942674e5642416f4d0a45556c756447567349454e76636e4276636d4630615739754d5251774567594456515148444174545957353059534244624746795954454c4d416b47413155450a4341774351304578437a414a42674e5642415954416c56544d423458445449774d4459784f4441774d5449304f466f58445449334d4459784f4441774d5449300a4f466f77634445694d434147413155454177775a535735305a5777675530645949464244537942445a584a3061575a70593246305a5445614d426747413155450a43677752535735305a577767513239796347397959585270623234784644415342674e564241634d43314e68626e526849454e7359584a684d517377435159440a5651514944414a445154454c4d416b474131554542684d4356564d775754415442676371686b6a4f5051494242676771686b6a4f50514d4242774e43414154570a663645447136324762714844326677574564656538645853645179694e665039493945594a59472b3770475a586b326173775370374f3876456d58425a52345a0a6b713075452f65687233435935793774323246786f3449436d7a434341706377487759445652306a42426777466f4155304f6971326e58582b53354a463567380a6578526c304e587957553077587759445652306642466777566a42556f464b6755495a4f6148523063484d364c79396863476b7564484a316333526c5a484e6c0a636e5a705932567a4c6d6c75644756734c6d4e766253397a5a3367765932567964476c6d61574e6864476c76626939324d6939775932746a636d772f593245390a63484a765932567a633239794d4230474131556444675157424253334b5969495a66795a7449432b4f4b7a4c365142446c5465384144414f42674e56485138420a4166384542414d434273417744415944565230544151482f42414977414443434164514743537147534962345451454e4151534341635577676748424d4234470a43697147534962345451454e415145454547462f622f39427666662b6c75427a75747a6d646d34776767466b42676f71686b69472b453042445145434d4949420a5644415142677371686b69472b4530424451454341514942447a415142677371686b69472b4530424451454341674942447a415142677371686b69472b4530420a4451454341774942416a415142677371686b69472b45304244514543424149424244415142677371686b69472b453042445145434251494241544152426773710a686b69472b4530424451454342674943414941774541594c4b6f5a496876684e4151304241676343415159774541594c4b6f5a496876684e41513042416767430a415141774541594c4b6f5a496876684e4151304241676b43415141774541594c4b6f5a496876684e4151304241676f43415141774541594c4b6f5a496876684e0a4151304241677343415141774541594c4b6f5a496876684e4151304241677743415141774541594c4b6f5a496876684e4151304241673043415141774541594c0a4b6f5a496876684e4151304241673443415141774541594c4b6f5a496876684e4151304241673843415141774541594c4b6f5a496876684e41513042416841430a415141774541594c4b6f5a496876684e415130424168454341516f774877594c4b6f5a496876684e4151304241684945454138504167514267415941414141410a41414141414141774541594b4b6f5a496876684e4151304241775143414141774641594b4b6f5a496876684e4151304242415147414a4275315141414d4138470a43697147534962345451454e4151554b41514177436759494b6f5a497a6a3045417749445341417752514968414b582b324343704b525652654d2b4d7543366a0a7477634d502b2b4645396667365a4f696d55464a55474478416941684d6a743258323651662b4247344965456f665547537070364f792b68494e704d48626d7a0a4f4a596279513d3d0a2d2d2d2d2d454e442043455254494649434154452d2d2d2d2d0a2d2d2d2d2d424547494e2043455254494649434154452d2d2d2d2d0a4d4949436c7a4343416a36674177494241674956414e446f71747031312f6b7553526559504873555a644456386c6c4e4d416f4743437147534d343942414d430a4d476778476a415942674e5642414d4d45556c756447567349464e48574342536232393049454e424d526f77474159445651514b4442464a626e526c624342440a62334a7762334a6864476c76626a45554d424947413155454277774c553246756447456751327868636d4578437a414a42674e564241674d416b4e424d5173770a435159445651514745774a56557a4165467730784f4441314d6a45784d4451314d4468614677307a4d7a41314d6a45784d4451314d4468614d484578497a41680a42674e5642414d4d476b6c756447567349464e48574342515130736755484a765932567a6332397949454e424d526f77474159445651514b4442464a626e526c0a6243424462334a7762334a6864476c76626a45554d424947413155454277774c553246756447456751327868636d4578437a414a42674e564241674d416b4e420a4d517377435159445651514745774a56557a425a4d424d4742797147534d34394167454743437147534d34394177454841304941424c39712b4e4d7032494f670a74646c31626b2f75575a352b5447516d38614369387a373866732b664b435133642b75447a586e56544154325a68444369667949754a77764e33774e427039690a484253534d4a4d4a72424f6a6762737767626777487759445652306a42426777466f4155496d554d316c71644e496e7a6737535655723951477a6b6e427177770a556759445652306642457377535442486f45576751345a426148523063484d364c79396a5a584a3061575a70593246305a584d7564484a316333526c5a484e6c0a636e5a705932567a4c6d6c75644756734c6d4e766253394a626e526c62464e4857464a76623352445153356a636d7777485159445652304f42425945464e446f0a71747031312f6b7553526559504873555a644456386c6c4e4d41344741315564447745422f77514541774942426a415342674e5648524d4241663845434441470a4151482f416745414d416f4743437147534d343942414d43413063414d45514349432f396a2b3834542b487a74564f2f734f5142574a6253642b2f327565784b0a342b6141306a6346424c63704169413364684d72463563443532743646714d764149706a385864476d79326265656c6a4c4a4b2b707a706352413d3d0a2d2d2d2d2d454e442043455254494649434154452d2d2d2d2d0a2d2d2d2d2d424547494e2043455254494649434154452d2d2d2d2d0a4d4949436a6a4343416a53674177494241674955496d554d316c71644e496e7a6737535655723951477a6b6e42717777436759494b6f5a497a6a3045417749770a614445614d4267474131554541777752535735305a5777675530645949464a766233516751304578476a415942674e5642416f4d45556c756447567349454e760a636e4276636d4630615739754d5251774567594456515148444174545957353059534244624746795954454c4d416b47413155454341774351304578437a414a0a42674e5642415954416c56544d423458445445344d4455794d5445774e4445784d566f5844544d7a4d4455794d5445774e4445784d466f77614445614d4267470a4131554541777752535735305a5777675530645949464a766233516751304578476a415942674e5642416f4d45556c756447567349454e76636e4276636d46300a615739754d5251774567594456515148444174545957353059534244624746795954454c4d416b47413155454341774351304578437a414a42674e56424159540a416c56544d466b77457759484b6f5a497a6a3043415159494b6f5a497a6a3044415163445167414543366e45774d4449595a4f6a2f69505773437a61454b69370a314f694f534c52466857476a626e42564a66566e6b59347533496a6b4459594c304d784f346d717379596a6c42616c54565978465032734a424b357a6c4b4f420a757a43427544416642674e5648534d4547444157674251695a517a575770303069664f44744a5653763141624f5363477244425342674e5648523845537a424a0a4d45656752614244686b466f64485277637a6f764c324e6c636e52705a6d6c6a5958526c63793530636e567a6447566b63325679646d6c6a5a584d75615735300a5a577775593239744c306c756447567355306459556d397664454e424c6d4e796244416442674e564851344546675155496d554d316c71644e496e7a673753560a55723951477a6b6e4271777744675944565230504151482f42415144416745474d42494741315564457745422f7751494d4159424166384341514577436759490a4b6f5a497a6a30454177494453414177525149675151732f30387279636450617543466b3855505158434d416c736c6f4265374e7761514754636470613045430a495143557438534776784b6d6a70634d2f7a3057503944766f3868326b3564753169574464426b416e2b306969413d3d0a2d2d2d2d2d454e442043455254494649434154452d2d2d2d2d0a00",
+ "quoteVersion": "sgx-quote-1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetLedgerEntries.json b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetLedgerEntries.json
new file mode 100644
index 000000000000..1c52c46af185
--- /dev/null
+++ b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetLedgerEntries.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "0.1-preview",
+ "fromTransactionId": "3.14",
+ "toTransactionId": "3.42",
+ "ledgerUri": "myledger.eastus.cloudapp.azure.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "state": "Ready",
+ "@nextLink": "/app/transactions?fromTransactionId=3.15&toTransactionId=3.42&subLedgerId=0&api-version=0.1-preview",
+ "entries": [
+ {
+ "contents": "Ledger entry contents at transaction id 3.14.",
+ "subLedgerId": "DEFAULT_SUBLEDGER",
+ "transactionId": "3.14"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetLedgerEntry.json b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetLedgerEntry.json
new file mode 100644
index 000000000000..4e9599d7321d
--- /dev/null
+++ b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetLedgerEntry.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "0.1-preview",
+ "transactionId": "3.14",
+ "ledgerUri": "myledger.eastus.cloudapp.azure.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "state": "Ready",
+ "entry": {
+ "contents": "Ledger entry contents at transaction id 3.14.",
+ "subLedgerId": "DEFAULT_SUBLEDGER",
+ "transactionId": "3.14"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetReceipt.json b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetReceipt.json
new file mode 100644
index 000000000000..fb0051de4bb6
--- /dev/null
+++ b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetReceipt.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "0.1-preview",
+ "ledgerUri": "myledger.eastus.cloudapp.azure.com",
+ "transactionId": "3.14"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "state": "Ready",
+ "receipt": {
+ "leaf": "fdc977c49d3a8bdf986176984e9432a09b5f6fe0c04e0b1c2dd177c03fdca9ec",
+ "nodeId": "682c161e1bc0aec694cac58a6ea456e1caa6c9c56d8dd873da9455c341947065",
+ "proof": [
+ {
+ "left": "f847e5efe3965b0dacb5c15c666602807a11fdecd465d0976779eed27121ffa3"
+ },
+ {
+ "left": "a56ce9efb73957f561f12d60513281fd2aaf16440234e2fd56e7d3d2ff4be8b0"
+ },
+ {
+ "left": "d91c982f525302244b13b6add92cd0925e1e0fb621ff2a7bb408ecc51be8528e"
+ },
+ {
+ "left": "6d87faceda763ce65914f95dfcc04b37ea3f26bc552764752a0f2720039f76be"
+ },
+ {
+ "left": "e0cc83ea2fae6c535fc44605fb25ba9fdfb319e0e577b3541760f9a3565c549b"
+ },
+ {
+ "left": "f0e95ed85f5f6c0197aed4f6685b93dc56edd823a2532bd717558a5ab77267cb"
+ }
+ ],
+ "root": "06fef62c80b6471c7005c1b114166fd1b0e077845f5ad544ad4eea4fb1d31f78",
+ "signature": "MGQCMACklXqd0ge+gBS8WzewrwtwzRzSKy+bfrLZVx0YHmQvtsqs7dExYESsqrUrB8ZcKwIwS3NPKaGq0w2QlPlCqUC3vQoQvhcZgPHPu2GkFYa7JEOdSKLknNPHaCRv80zx2RGF"
+ },
+ "transactionId": "3.14"
+ }
+ }
+ }
+}
diff --git a/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetTransactionStatus.json b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetTransactionStatus.json
new file mode 100644
index 000000000000..5757ebfd4a70
--- /dev/null
+++ b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetTransactionStatus.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "0.1-preview",
+ "ledgerUri": "myledger.eastus.cloudapp.azure.com",
+ "transactionId": "4.2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "state": "Committed",
+ "transactionId": "4.2"
+ }
+ }
+ }
+}
diff --git a/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetUser.json b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetUser.json
new file mode 100644
index 000000000000..33efee958309
--- /dev/null
+++ b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/GetUser.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "0.1-preview",
+ "ledgerUri": "myledger.eastus.cloudapp.azure.com",
+ "userId": "AAD object id"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "assignedRole": "Administrator",
+ "userId": "AAD object id"
+ }
+ }
+ }
+}
diff --git a/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/PostLedgerEntry.json b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/PostLedgerEntry.json
new file mode 100644
index 000000000000..4dc6d4ae22bb
--- /dev/null
+++ b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/examples/ledger/PostLedgerEntry.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "0.1-preview",
+ "ledgerUri": "myledger.eastus.cloudapp.azure.com",
+ "contents": "New ledger entry contents."
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "x-ms-ccf-transaction-id": "19.2"
+ },
+ "body": {
+ "subLedgerId": "DEFAULT_SUBLEDGER"
+ }
+ }
+ }
+}
diff --git a/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/identityservice.json b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/identityservice.json
new file mode 100644
index 000000000000..f92d50b983c8
--- /dev/null
+++ b/specification/confidentialledger/data-plane/Microsoft.ConfidentialLedger/preview/0.1-preview/identityservice.json
@@ -0,0 +1,90 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "0.1-preview",
+ "title": "ConfidentialLedgerIdentityServiceClient",
+ "description": "The ConfidentialLedgerIdentityServiceClient is used to retrieve the TLS certificate required for connecting to a Confidential Ledger."
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{identityServiceUri}",
+ "useSchemePrefix": false,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "name": "identityServiceUri",
+ "description": "The Identity Service URL, for example https://identity.accledger.azure.com",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "format": "url",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "client"
+ }
+ ]
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/ledgerIdentity/{ledgerId}": {
+ "get": {
+ "operationId": "ConfidentialLedgerIdentityService_GetLedgerIdentity",
+ "x-ms-examples": {
+ "GetLedgerIdentity": {
+ "$ref": "./examples/identity/GetLedgerIdentity.json"
+ }
+ },
+ "summary": "Gets identity information for a Confidential Ledger instance.",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "path",
+ "name": "ledgerId",
+ "description": "Id of the Confidential Ledger instance to get information for",
+ "type": "string",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns ledger information.",
+ "schema": {
+ "$ref": "#/definitions/LedgerIdentityInformation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "common.json#/definitions/ConfidentialLedgerError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "LedgerIdentityInformation": {
+ "description": "Contains the information about a Confidential Ledger.",
+ "required": [
+ "ledgerTlsCertificate"
+ ],
+ "properties": {
+ "ledgerId": {
+ "description": "Id for the ledger.",
+ "type": "string",
+ "readOnly": true
+ },
+ "ledgerTlsCertificate": {
+ "description": "PEM-encoded certificate used for TLS by the Confidential Ledger.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+}
diff --git a/specification/confidentialledger/data-plane/notes.md b/specification/confidentialledger/data-plane/notes.md
new file mode 100644
index 000000000000..b360bf1fc5bb
--- /dev/null
+++ b/specification/confidentialledger/data-plane/notes.md
@@ -0,0 +1 @@
+[MutualTLS is not available until Openapi 3.1.0](https://github.com/OAI/OpenAPI-Specification/pull/1764). How do we express cert-based auth?
\ No newline at end of file
diff --git a/specification/confidentialledger/data-plane/readme.csharp.md b/specification/confidentialledger/data-plane/readme.csharp.md
new file mode 100644
index 000000000000..a578cc10c495
--- /dev/null
+++ b/specification/confidentialledger/data-plane/readme.csharp.md
@@ -0,0 +1,15 @@
+## C
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+```yaml $(csharp)
+csharp:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 1
+ clear-output-folder: true
+ client-side-validation: false
+ namespace: Microsoft.ConfidentialLedger
+ output-folder: $(csharp-sdks-folder)/confidentialledger/management/Microsoft.ConfidentialLedger/GeneratedProtocol
+```
diff --git a/specification/confidentialledger/data-plane/readme.go.md b/specification/confidentialledger/data-plane/readme.go.md
new file mode 100644
index 000000000000..096f5fa37eeb
--- /dev/null
+++ b/specification/confidentialledger/data-plane/readme.go.md
@@ -0,0 +1,19 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+```yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+ namespace: confidentialledger
+```
+
+### Tag: package-0.1-preview and go
+
+These settings apply only when `--tag=package-0.1-preview --go` is specified on the command line.
+Please also specify `--go-sdks-folder=`.
+
+```yaml $(tag) == 'package-0.1-preview' && $(go)
+output-folder: $(go-sdks-folder)/confidentialledger/Generated
+```
diff --git a/specification/confidentialledger/data-plane/readme.md b/specification/confidentialledger/data-plane/readme.md
new file mode 100644
index 000000000000..e4424c1d3516
--- /dev/null
+++ b/specification/confidentialledger/data-plane/readme.md
@@ -0,0 +1,91 @@
+# confidentialledger
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for confidentialledger.
+
+## 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 confidentialledger.
+
+```yaml
+openapi-type: data-plane
+vanilla: true
+```
+
+### Tag: package-0.1-preview-ledger
+
+These settings apply only when `--tag=package-0.1-preview-ledger` is specified on the command line.
+
+```yaml $(tag) == 'package-0.1-preview-ledger'
+input-file:
+ - Microsoft.ConfidentialLedger/preview/0.1-preview/confidentialledger.json
+```
+
+### Tag: package-0.1-preview-identity
+
+These settings apply only when `--tag=package-0.1-preview-identity` is specified on the command line.
+
+```yaml $(tag) == 'package-0.1-preview-identity'
+input-file:
+ - Microsoft.ConfidentialLedger/preview/0.1-preview/identityservice.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
+ autorest_options:
+ use: "@autorest/python@5.1.0-preview.4"
+ version: "3.0.6320"
+ - repo: azure-sdk-for-java
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-ruby
+ after_scripts:
+ - bundle install && rake arm:regen_all_profiles['azure_mgmt_confidentialledger']
+```
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## Ruby
+
+See configuration in [readme.ruby.md](./readme.ruby.md)
+
+## TypeScript
+
+See configuration in [readme.typescript.md](./readme.typescript.md)
+
+## CSharp
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
diff --git a/specification/confidentialledger/data-plane/readme.python.md b/specification/confidentialledger/data-plane/readme.python.md
new file mode 100644
index 000000000000..5ee1853d7418
--- /dev/null
+++ b/specification/confidentialledger/data-plane/readme.python.md
@@ -0,0 +1,73 @@
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+```yaml !$(track2)
+python:
+ clear-output-folder: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ no-namespace-folders: true
+ package-version: "0.1"
+```
+
+```yaml $(track2)
+license-header: MICROSOFT_MIT_NO_VERSION
+no-namespace-folders: true
+package-name: azure-confidentialledger
+package-version: "0.1"
+payload-flattening-threshold: 2
+```
+
+### Python multi-api
+
+Generate all API versions currently shipped for this package
+
+```yaml $(multiapi) && !$(track2)
+batch:
+ - tag: package-0.1-preview-ledger
+ - tag: package-0.1-preview-identity
+```
+
+```yaml $(multiapi) && $(track2)
+clear-output-folder: true
+batch:
+ - tag: package-0.1-preview-ledger
+ - multiapiscriptledger: true
+ - tag: package-0.1-preview-identity
+ - multiapiscriptidentity: true
+```
+
+### Multi-api script
+
+```yaml $(multiapiscriptidentity)
+multiapiscript: true
+output-folder: $(python-sdks-folder)/confidentialledger/azure-confidentialledger/azure/confidentialledger/_generated/_generated_identity
+clear-output-folder: false
+keep-version-file: true
+perform-load: false
+```
+
+```yaml $(multiapiscriptledger)
+multiapiscript: true
+output-folder: $(python-sdks-folder)/confidentialledger/azure-confidentialledger/azure/confidentialledger/_generated/_generated_ledger
+clear-output-folder: false
+keep-version-file: true
+perform-load: false
+```
+
+### Tag: package-0.1-preview-identity and python
+
+These settings apply only when `--tag=package-0.1-preview-identity --python` is specified on the command line.
+```yaml $(tag) == 'package-0.1-preview-identity'
+namespace: azure.confidentialledger._generated/_generated_identity.v0_1_preview
+output-folder: $(python-sdks-folder)/confidentialledger/azure-confidentialledger/azure/confidentialledger/_generated/_generated_identity/v0_1_preview
+```
+
+### Tag: package-0.1-preview-ledger and python
+
+These settings apply only when `--tag=package-0.1-preview-ledger --python` is specified on the command line.
+```yaml $(tag) == 'package-0.1-preview-ledger'
+namespace: azure.confidentialledger._generated/_generated_ledger.v0_1_preview
+output-folder: $(python-sdks-folder)/confidentialledger/azure-confidentialledger/azure/confidentialledger/_generated/_generated_ledger/v0_1_preview
+```
diff --git a/specification/confidentialledger/data-plane/readme.ruby.md b/specification/confidentialledger/data-plane/readme.ruby.md
new file mode 100644
index 000000000000..9d30c4ed61c6
--- /dev/null
+++ b/specification/confidentialledger/data-plane/readme.ruby.md
@@ -0,0 +1,19 @@
+## Ruby
+
+These settings apply only when `--ruby` is specified on the command line.
+
+```yaml
+package-name: azure_mgmt_confidentialledger
+package-version: 0.1-preview
+azure-arm: true
+```
+
+### Tag: package-0.1-preview and ruby
+
+These settings apply only when `--tag=package-0.1-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-0.1-preview' && $(ruby)
+namespace: Microsoft.ConfidentialLedger
+output-folder: $(ruby-sdks-folder)/confidentialledger
+```
diff --git a/specification/confidentialledger/data-plane/readme.typescript.md b/specification/confidentialledger/data-plane/readme.typescript.md
new file mode 100644
index 000000000000..34331189d8c1
--- /dev/null
+++ b/specification/confidentialledger/data-plane/readme.typescript.md
@@ -0,0 +1,13 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+```yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "confidentialledger"
+ output-folder: "$(typescript-sdks-folder)/packages/confidentialledger"
+ payload-flattening-threshold: 1
+ generate-metadata: true
+```
diff --git a/specification/confidentialledger/resource-manager/readme.azureresourceschema.md b/specification/confidentialledger/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index a6448185cf94..000000000000
--- a/specification/confidentialledger/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,24 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-confidentialledger-2020-12-01-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-confidentialledger-2020-12-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-confidentialledger-2020-12-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ConfidentialLedger/preview/2020-12-01-preview/confidentialledger.json
-
-```
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..aef6ed5ec919 100644
--- a/specification/confidentialledger/resource-manager/readme.python.md
+++ b/specification/confidentialledger/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.confidentialledger
- package-name: azure-mgmt-confidentialledger
- package-version: 0.0.1
- clear-output-folder: true
+``` yaml $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+package-name: azure-mgmt-confidentialledger
+no-namespace-folders: true
+package-version: 1.0.0b1
+clear-output-folder: true
```
-```yaml $(python)
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/confidentialledger/azure-mgmt-confidentialledger/azure/mgmt/confidentialledger
+``` yaml $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/confidentialledger/azure-mgmt-confidentialledger/azure/mgmt/confidentialledger
+```
+
+``` yaml $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/confidentialledger/azure-mgmt-confidentialledger
```
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..4d5f7093dada
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/confluent.json
@@ -0,0 +1,971 @@
+{
+ "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"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Confluent/validations/{organizationName}/orgvalidate": {
+ "post": {
+ "tags": [
+ "Validations"
+ ],
+ "summary": "Organization Validate proxy resource",
+ "operationId": "Validations_ValidateOrganization",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/OrganizationResourceNameParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "description": "Organization resource model",
+ "schema": {
+ "$ref": "#/definitions/OrganizationResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OrganizationResource"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Validations_ValidateOrganizations": {
+ "$ref": "./examples/Validations_ValidateOrganizations.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ConfluentAgreementProperties": {
+ "description": "Terms properties for Marketplace and Confluent.",
+ "type": "object",
+ "properties": {
+ "publisher": {
+ "description": "Publisher identifier string.",
+ "type": "string"
+ },
+ "product": {
+ "description": "Product identifier string.",
+ "type": "string"
+ },
+ "plan": {
+ "description": "Plan identifier string.",
+ "type": "string"
+ },
+ "licenseTextLink": {
+ "description": "Link to HTML with Microsoft and Publisher terms.",
+ "type": "string"
+ },
+ "privacyPolicyLink": {
+ "description": "Link to the privacy policy of the publisher.",
+ "type": "string"
+ },
+ "retrieveDatetime": {
+ "format": "date-time",
+ "description": "Date and time in UTC of when the terms were accepted. This is empty if Accepted is false.",
+ "type": "string"
+ },
+ "signature": {
+ "description": "Terms signature.",
+ "type": "string"
+ },
+ "accepted": {
+ "description": "If any version of the terms have been accepted, otherwise false.",
+ "type": "boolean"
+ }
+ }
+ },
+ "ConfluentAgreementResource": {
+ "description": "Agreement Terms definition",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "description": "The ARM id of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the agreement.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the agreement.",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemData": {
+ "description": "Metadata pertaining to creation and last modification of the resource",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ConfluentAgreementProperties",
+ "description": "Represents the properties of the resource."
+ }
+ }
+ },
+ "ConfluentAgreementResourceListResponse": {
+ "description": "Response of a list operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Results of a list operation.",
+ "type": "array",
+ "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",
+ "required": [
+ "publisherId",
+ "id",
+ "planId",
+ "planName",
+ "termUnit"
+ ],
+ "properties": {
+ "publisherId": {
+ "description": "Publisher Id",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "id": {
+ "description": "Offer Id",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "planId": {
+ "description": "Offer Plan Id",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "planName": {
+ "description": "Offer Plan Name",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "termUnit": {
+ "description": "Offer Plan Term unit",
+ "maxLength": 25,
+ "type": "string"
+ },
+ "status": {
+ "description": "SaaS Offer Status",
+ "$ref": "#/definitions/SaaSOfferStatus"
+ }
+ }
+ },
+ "UserDetail": {
+ "description": "Subscriber detail",
+ "type": "object",
+ "required": [
+ "emailAddress"
+ ],
+ "properties": {
+ "firstName": {
+ "description": "First name",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "lastName": {
+ "description": "Last name",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "emailAddress": {
+ "description": "Email address",
+ "pattern": "^\\S+@\\S+\\.\\S+$",
+ "type": "string"
+ }
+ }
+ },
+ "OrganizationResourceProperties": {
+ "description": "Organization resource property",
+ "type": "object",
+ "required": [
+ "offerDetail",
+ "userDetail"
+ ],
+ "properties": {
+ "createdTime": {
+ "format": "date-time",
+ "description": "The creation time of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "Provision states for confluent RP",
+ "$ref": "#/definitions/ProvisioningState",
+ "readOnly": true
+ },
+ "organizationId": {
+ "description": "Id of the Confluent organization.",
+ "type": "string",
+ "readOnly": true
+ },
+ "ssoUrl": {
+ "description": "SSO url for the Confluent organization.",
+ "type": "string",
+ "readOnly": true
+ },
+ "offerDetail": {
+ "description": "Confluent offer detail",
+ "$ref": "#/definitions/OfferDetail"
+ },
+ "userDetail": {
+ "description": "Subscriber detail",
+ "$ref": "#/definitions/UserDetail"
+ }
+ }
+ },
+ "OrganizationResource": {
+ "description": "Organization resource.",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "id": {
+ "description": "The ARM id of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemData": {
+ "description": "Metadata pertaining to creation and last modification of the resource",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Organization resource properties",
+ "$ref": "#/definitions/OrganizationResourceProperties"
+ },
+ "tags": {
+ "type": "object",
+ "description": "Organization resource tags",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "location": {
+ "description": "Location of Organization resource",
+ "type": "string"
+ }
+ }
+ },
+ "OrganizationResourceListResult": {
+ "description": "The response of a list operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Result of a list operation.",
+ "type": "array",
+ "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/preview/2021-03-01-preview/examples/Validations_ValidateOrganizations.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/examples/Validations_ValidateOrganizations.json
new file mode 100644
index 000000000000..5a5fe44f966d
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/examples/Validations_ValidateOrganizations.json
@@ -0,0 +1,60 @@
+{
+ "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": "abc@microsoft.com"
+ }
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganization",
+ "name": "myOrganization",
+ "type": "Microsoft.Confluent/organizations",
+ "properties": {
+ "createdTime": "2020-05-09T14:28:47.284Z",
+ "provisioningState": "Succeeded",
+ "organizationId": "string",
+ "ssoUrl": "string",
+ "offerDetail": {
+ "publisherId": "string",
+ "id": "string",
+ "planId": "string",
+ "planName": "string",
+ "termUnit": "string",
+ "status": "Started"
+ },
+ "userDetail": {
+ "firstName": "string",
+ "lastName": "string",
+ "emailAddress": "abc@microsoft.com"
+ }
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ }
+ }
+}
diff --git a/specification/confluent/resource-manager/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
deleted file mode 100644
index 6397c3480fd8..000000000000
--- a/specification/confluent/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,36 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-confluent-2020-03-01-preview
- - tag: schema-confluent-2020-03-01
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-confluent-2020-03-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-confluent-2020-03-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Confluent/preview/2020-03-01-preview/confluent.json
-
-```
-
-### 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
-
-```
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..8780a27ab0d6 100644
--- a/specification/confluent/resource-manager/readme.md
+++ b/specification/confluent/resource-manager/readme.md
@@ -28,7 +28,7 @@ These are the global settings for the Confluent API.
title: ConfluentManagementClient
openapi-type: arm
openapi-subtype: rpaas
-tag: package-2020-03-01
+tag: package-2021-03-01-preview
```
### Tag: package-2020-03-01
@@ -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,7 +67,6 @@ 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-java
@@ -70,8 +78,6 @@ swagger-to-sdk:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_confluent']
- repo: azure-cli-extensions
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js confluent/resource-manager
```
## C#
@@ -102,31 +108,3 @@ See configuration in [readme.ruby.md](./readme.ruby.md)
See configuration in [readme.typescript.md](./readme.typescript.md)
-## AzureResourceSchema
-
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
-
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
-# include the azure profile definitions from the standard location
-require: $(this-folder)/../../../profiles/readme.md
-
-# all the input files across all versions
-input-file:
- - $(this-folder)/Microsoft.Confluent/stable/2020-03-01/confluent.json
- - $(this-folder)/Microsoft.Confluent/preview/2020-03-01-preview/confluent.json
-
-```
-
-If there are files that should not be in the `all-api-versions` set,
-uncomment the `exclude-file` section below and add the file paths.
-
-``` yaml $(tag) == 'all-api-versions'
-#exclude-file:
-# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
-```
diff --git a/specification/confluent/resource-manager/readme.python.md b/specification/confluent/resource-manager/readme.python.md
index b7652ef0ee6d..f1ba121d7ba2 100644
--- a/specification/confluent/resource-manager/readme.python.md
+++ b/specification/confluent/resource-manager/readme.python.md
@@ -11,6 +11,8 @@ namespace: azure.mgmt.confluent
package-name: azure-mgmt-confluent
package-version: 1.0.0b1
clear-output-folder: true
+modelerfour:
+ lenient-model-deduplication: true
```
``` yaml $(python) && $(python-mode) == 'update'
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 021a511d7f31..c566b00a8d9a 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
@@ -40,7 +40,7 @@
"UsageDetails"
],
"operationId": "UsageDetails_List",
- "description": "Lists the usage details for the defined scope. Usage details are available via this API only for May 1, 2014 or later.",
+ "description": "Lists the usage details for the defined scope. Usage details are available via this API only for May 1, 2014 or later. For more information on using this API, including how to specify a date range, please see: https://docs.microsoft.com/en-us/azure/cost-management-billing/costs/manage-automation",
"externalDocs": {
"url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
},
@@ -116,7 +116,7 @@
},
{
"name": "$filter",
- "description": "May be used to filter usageDetails by properties/resourceGroup, properties/resourceName, properties/resourceId, properties/chargeType, properties/reservationId, properties/publisherType or tags. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a colon (:). PublisherType Filter accepts two values azure and marketplace and it is currently supported for Web Direct Offer Type",
+ "description": "May be used to filter usageDetails by properties/resourceGroup, properties/instanceName, properties/resourceId, properties/chargeType, properties/reservationId, properties/publisherType or tags. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a colon (:). PublisherType Filter accepts two values azure and marketplace and it is currently supported for Web Direct Offer Type",
"in": "query",
"required": false,
"type": "string"
@@ -620,7 +620,7 @@
}
}
},
- "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/balances": {
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/balances": {
"get": {
"tags": [
"Balances"
@@ -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": {
@@ -3013,9 +3013,9 @@
"type": "string",
"description": "Resource sku"
},
- "etag": {
+ "eTag": {
"type": "string",
- "description": "Resource etag."
+ "description": "Resource eTag."
},
"properties": {
"x-ms-client-flatten": true,
@@ -3227,6 +3227,11 @@
"description": "The link (url) to the previous page of results.",
"type": "string",
"readOnly": true
+ },
+ "totalCost": {
+ "description": "The total amount of cost.",
+ "type": "string",
+ "readOnly": true
}
}
},
@@ -3393,6 +3398,11 @@
"description": "Properties for modern reservation recommendation",
"$ref": "#/definitions/ModernReservationRecommendationProperties",
"x-ms-client-flatten": true
+ },
+ "eTag": {
+ "description": "Resource eTag.",
+ "type": "string",
+ "readOnly": true
}
},
"allOf": [
@@ -3493,6 +3503,16 @@
"description": "This is the ARM Sku name.",
"type": "string",
"readOnly": true
+ },
+ "resourceType": {
+ "description": "The Azure resource type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subscriptionId": {
+ "description": "The Azure subscription ID.",
+ "type": "string",
+ "readOnly": true
}
}
},
@@ -4848,6 +4868,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",
@@ -4864,26 +4894,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",
@@ -4905,6 +4960,11 @@
"description": "Invoice number.",
"type": "string",
"readOnly": true
+ },
+ "reseller": {
+ "description": "Reseller details.",
+ "readOnly": true,
+ "$ref": "#/definitions/Reseller"
}
}
},
@@ -4945,16 +5005,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",
@@ -4984,6 +5064,11 @@
"description": "PO number.",
"type": "string",
"readOnly": true
+ },
+ "reseller": {
+ "description": "Reseller details.",
+ "readOnly": true,
+ "$ref": "#/definitions/Reseller"
}
}
},
@@ -5007,6 +5092,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,
@@ -5026,6 +5121,11 @@
"description": "Pending eligible charges.",
"readOnly": true,
"$ref": "#/definitions/amount"
+ },
+ "reseller": {
+ "description": "Reseller details.",
+ "readOnly": true,
+ "$ref": "#/definitions/Reseller"
}
}
},
@@ -5041,6 +5141,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"
}
}
},
@@ -5060,6 +5170,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": {
@@ -5174,6 +5320,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/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 1c18c75f4073..55e47eaf75b6 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
@@ -40,7 +40,7 @@
"UsageDetails"
],
"operationId": "UsageDetails_List",
- "description": "Lists the usage details for the defined scope. Usage details are available via this API only for May 1, 2014 or later.",
+ "description": "Lists the usage details for the defined scope. Usage details are available via this API only for May 1, 2014 or later. For more information on using this API, including how to specify a date range, please see: https://docs.microsoft.com/en-us/azure/cost-management-billing/costs/manage-automation",
"externalDocs": {
"url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
},
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/consumption.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/consumption.json
new file mode 100644
index 000000000000..5c1741141c2a
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/consumption.json
@@ -0,0 +1,5782 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-05-01",
+ "title": "ConsumptionManagementClient",
+ "description": "Consumption management client provides access to consumption resources for Azure Enterprise Subscriptions."
+ },
+ "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.Consumption/usageDetails": {
+ "get": {
+ "tags": [
+ "UsageDetails"
+ ],
+ "operationId": "UsageDetails_List",
+ "description": "Lists the usage details for the defined scope. Usage details are available via this API only for May 1, 2014 or later.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "UsageDetailsList-Legacy": {
+ "$ref": "./examples/UsageDetailsList.json"
+ },
+ "UsageDetailsListFilterByTag-Legacy": {
+ "$ref": "./examples/UsageDetailsListFilterByTag.json"
+ },
+ "UsageDetailsListForBillingPeriod-Legacy": {
+ "$ref": "./examples/UsageDetailsListForBillingPeriod.json"
+ },
+ "UsageDetailsExpand-Legacy": {
+ "$ref": "./examples/UsageDetailsExpand.json"
+ },
+ "UsageDetailsListByMetricActualCost-Legacy": {
+ "$ref": "./examples/UsageDetailsListByMetricActualCost.json"
+ },
+ "UsageDetailsListByMetricAmortizedCost-Legacy": {
+ "$ref": "./examples/UsageDetailsListByMetricAmortizedCost.json"
+ },
+ "UsageDetailsListByMetricUsage-Legacy": {
+ "$ref": "./examples/UsageDetailsListByMetricUsage.json"
+ },
+ "BillingAccountUsageDetailsList-Legacy": {
+ "$ref": "./examples/UsageDetailsListByBillingAccount.json"
+ },
+ "BillingAccountUsageDetailsListForBillingPeriod-Legacy": {
+ "$ref": "./examples/UsageDetailsListForBillingPeriodByBillingAccount.json"
+ },
+ "DepartmentUsageDetailsList-Legacy": {
+ "$ref": "./examples/UsageDetailsListByDepartment.json"
+ },
+ "DepartmentUsageDetailsListForBillingPeriod-Legacy": {
+ "$ref": "./examples/UsageDetailsListForBillingPeriodByDepartment.json"
+ },
+ "EnrollmentAccountUsageDetailsList-Legacy": {
+ "$ref": "./examples/UsageDetailsListByEnrollmentAccount.json"
+ },
+ "EnrollmentAccountUsageDetailsListForBillingPeriod-Legacy": {
+ "$ref": "./examples/UsageDetailsListForBillingPeriodByEnrollmentAccount.json"
+ },
+ "ManagementGroupUsageDetailsList-Legacy": {
+ "$ref": "./examples/UsageDetailsListByManagementGroup.json"
+ },
+ "ManagementGroupUsageDetailsListForBillingPeriod-Legacy": {
+ "$ref": "./examples/UsageDetailsListForBillingPeriodByManagementGroup.json"
+ },
+ "BillingAccountUsageDetailsList-Modern": {
+ "$ref": "./examples/UsageDetailsListByMCABillingAccount.json"
+ },
+ "BillingProfileUsageDetailsList-Modern": {
+ "$ref": "./examples/UsageDetailsListByMCABillingProfile.json"
+ },
+ "InvoiceSectionUsageDetailsList-Modern": {
+ "$ref": "./examples/UsageDetailsListByMCAInvoiceSection.json"
+ },
+ "CustomerUsageDetailsList-Modern": {
+ "$ref": "./examples/UsageDetailsListByMCACustomer.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeUsageDetailsParameter"
+ },
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties/additionalInfo or properties/meterDetails within a list of usage details. By default, these fields are not included when listing usage details.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter usageDetails by properties/resourceGroup, properties/resourceName, properties/resourceId, properties/chargeType, properties/reservationId, properties/publisherType or tags. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a colon (:). PublisherType Filter accepts two values azure and marketplace and it is currently supported for Web Direct Offer Type",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skiptoken",
+ "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$top",
+ "description": "May be used to limit the number of results to the most recent N usageDetails.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 1000
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/metricParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/UsageDetailsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Consumption/marketplaces": {
+ "get": {
+ "tags": [
+ "Marketplaces"
+ ],
+ "x-ms-odata": "#/definitions/Marketplace",
+ "operationId": "Marketplaces_List",
+ "description": "Lists the marketplaces for a scope at the defined scope. Marketplaces are available via this API only for May 1, 2014 or later.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "SubscriptionMarketplacesList": {
+ "$ref": "./examples/MarketplacesList.json"
+ },
+ "SubscriptionMarketplacesListForBillingPeriod": {
+ "$ref": "./examples/MarketplacesListForBillingPeriod.json"
+ },
+ "BillingAccountMarketplacesList": {
+ "$ref": "./examples/MarketplacesByBillingAccountList.json"
+ },
+ "BillingAccountMarketplacesListForBillingPeriod": {
+ "$ref": "./examples/MarketplacesByBillingAccountListForBillingPeriod.json"
+ },
+ "DepartmentMarketplacesList": {
+ "$ref": "./examples/MarketplacesByDepartmentList.json"
+ },
+ "DepartmentMarketplacesListForBillingPeriod": {
+ "$ref": "./examples/MarketplacesByDepartment_ListByBillingPeriod.json"
+ },
+ "EnrollmentAccountMarketplacesList": {
+ "$ref": "./examples/MarketplacesByEnrollmentAccountList.json"
+ },
+ "EnrollmentAccountMarketplacesListForBillingPeriod": {
+ "$ref": "./examples/MarketplacesByEnrollmentAccounts_ListByBillingPeriod.json"
+ },
+ "ManagementGroupMarketplacesList": {
+ "$ref": "./examples/MarketplacesByManagementGroupList.json"
+ },
+ "ManagementGroupMarketplacesListForBillingPeriod": {
+ "$ref": "./examples/MarketplacesByManagementGroup_ListForBillingPeriod.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "description": "May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$top",
+ "description": "May be used to limit the number of results to the most recent N marketplaces.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 1000
+ },
+ {
+ "name": "$skiptoken",
+ "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/scopeMarketplaceParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/MarketplacesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Consumption/budgets": {
+ "get": {
+ "tags": [
+ "Budgets"
+ ],
+ "operationId": "Budgets_List",
+ "description": "Lists all budgets for the defined scope.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "BudgetsList": {
+ "$ref": "./examples/BudgetsList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeBudgetParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/BudgetsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Consumption/budgets/{budgetName}": {
+ "get": {
+ "tags": [
+ "Budgets"
+ ],
+ "operationId": "Budgets_Get",
+ "description": "Gets the budget for the scope by budget name.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "Budget": {
+ "$ref": "./examples/Budget.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeBudgetParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/budgetNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Budget"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Budgets"
+ ],
+ "operationId": "Budgets_CreateOrUpdate",
+ "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/"
+ },
+ "x-ms-examples": {
+ "CreateOrUpdateBudget": {
+ "$ref": "./examples/CreateOrUpdateBudget.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeBudgetParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/budgetNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Budget"
+ },
+ "description": "Parameters supplied to the Create Budget operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Budget"
+ }
+ },
+ "201": {
+ "description": "Created.",
+ "schema": {
+ "$ref": "#/definitions/Budget"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Budgets"
+ ],
+ "operationId": "Budgets_Delete",
+ "description": "The operation to delete a budget.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "DeleteBudget": {
+ "$ref": "./examples/DeleteBudget.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeBudgetParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/budgetNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Consumption/tags": {
+ "get": {
+ "tags": [
+ "Tags"
+ ],
+ "operationId": "Tags_Get",
+ "description": "Get all available tag keys for the defined scope",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "Tags_Get": {
+ "$ref": "./examples/Tags.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeTagsParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/TagsResult"
+ }
+ },
+ "204": {
+ "description": "An empty response is sent when there is no information available within the selected scope."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Consumption/charges": {
+ "get": {
+ "tags": [
+ "Charges"
+ ],
+ "operationId": "Charges_List",
+ "description": "Lists the charges based for the defined scope.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "ChargesListForEnrollmentAccount-Legacy": {
+ "$ref": "./examples/ChargesListForEnrollmentAccountFilterByStartEndDate.json"
+ },
+ "ChangesForBillingPeriodByEnrollmentAccount-Legacy": {
+ "$ref": "./examples/ChargesForBillingPeriodByEnrollmentAccount.json"
+ },
+ "ChargesListByDepartment-Legacy": {
+ "$ref": "./examples/ChargesListForDepartmentFilterByStartEndDate.json"
+ },
+ "ChangesForBillingPeriodByDepartment-Legacy": {
+ "$ref": "./examples/ChargesForBillingPeriodByDepartment.json"
+ },
+ "ChargesListByBillingAccount-Modern": {
+ "$ref": "./examples/ChargesListByModernBillingAccount.json"
+ },
+ "ChargesListByBillingAccountGroupByBillingProfileId-Modern": {
+ "$ref": "./examples/ChargesListByModernBillingAccountGroupByBillingProfileId.json"
+ },
+ "ChargesListByBillingAccountGroupByInvoiceSectionId-Modern": {
+ "$ref": "./examples/ChargesListByModernBillingAccountGroupByInvoiceSectionId.json"
+ },
+ "ChargesListByBillingAccountGroupByCustomerId-Modern": {
+ "$ref": "./examples/ChargesListByModernBillingAccountGroupByCustomerId.json"
+ },
+ "ChargesListByBillingProfile-Modern": {
+ "$ref": "./examples/ChargesListByModernBillingProfile.json"
+ },
+ "ChargesListByBillingProfileInvoiceSection-Modern": {
+ "$ref": "./examples/ChargesListByModernBillingProfileInvoiceSection.json"
+ },
+ "ChargesListByBillingProfileGroupByInvoiceSectionId-Modern": {
+ "$ref": "./examples/ChargesListByModernBillingProfileGroupByInvoiceSectionId.json"
+ },
+ "ChargesListByInvoiceSectionId-Modern": {
+ "$ref": "./examples/ChargesListByModernInvoiceSectionId.json"
+ },
+ "ChargesListByCustomer-Modern": {
+ "$ref": "./examples/ChargesListByModernCustomer.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeChargesParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "startDate",
+ "in": "query",
+ "description": "Start date",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "endDate",
+ "in": "query",
+ "description": "End date",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter charges by properties/usageEnd (Utc time), properties/usageStart (Utc time). The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a colon (:).",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$apply",
+ "description": "May be used to group charges for billingAccount scope by properties/billingProfileId, properties/invoiceSectionId, properties/customerId (specific for Partner Led), or for billingProfile scope by properties/invoiceSectionId.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ChargesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/balances": {
+ "get": {
+ "tags": [
+ "Balances"
+ ],
+ "operationId": "Balances_GetByBillingAccount",
+ "description": "Gets the balances for a scope by billingAccountId. Balances are available via this API only for May 1, 2014 or later.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "Balances": {
+ "$ref": "./examples/BalancesByBillingAccount.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Balance"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/balances": {
+ "get": {
+ "tags": [
+ "Balances"
+ ],
+ "operationId": "Balances_GetForBillingPeriodByBillingAccount",
+ "description": "Gets the balances for a scope by billing period and billingAccountId. Balances are available via this API only for May 1, 2014 or later.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "Balances": {
+ "$ref": "./examples/BalancesByBillingAccountForBillingPeriod.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/billingPeriodNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Balance"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationSummaries": {
+ "get": {
+ "tags": [
+ "ReservationSummaries"
+ ],
+ "operationId": "ReservationsSummaries_ListByReservationOrder",
+ "description": "Lists the reservations summaries for daily or monthly grain.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "ReservationSummariesDaily": {
+ "$ref": "./examples/ReservationSummariesDaily.json"
+ },
+ "ReservationSummariesMonthly": {
+ "$ref": "./examples/ReservationSummariesMonthly.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/reservationOrderIdParameter"
+ },
+ {
+ "$ref": "#/parameters/grainParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "Required only for daily grain. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge'",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ReservationSummariesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationSummaries": {
+ "get": {
+ "tags": [
+ "ReservationSummaries"
+ ],
+ "operationId": "ReservationsSummaries_ListByReservationOrderAndReservation",
+ "description": "Lists the reservations summaries for daily or monthly grain.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "ReservationSummariesDailyWithReservationId": {
+ "$ref": "./examples/ReservationSummariesDailyWithReservationId.json"
+ },
+ "ReservationSummariesMonthlyWithReservationId": {
+ "$ref": "./examples/ReservationSummariesMonthlyWithReservationId.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/reservationOrderIdParameter"
+ },
+ {
+ "$ref": "#/parameters/reservationIdParameter"
+ },
+ {
+ "$ref": "#/parameters/grainParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "Required only for daily grain. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge'",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ReservationSummariesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Consumption/reservationSummaries": {
+ "get": {
+ "tags": [
+ "ReservationSummaries"
+ ],
+ "operationId": "ReservationsSummaries_List",
+ "description": "Lists the reservations summaries for the defined scope daily or monthly grain.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "ReservationSummariesDailyWithBillingAccountId": {
+ "$ref": "./examples/ReservationSummariesDailyWithBillingAccountId.json"
+ },
+ "ReservationSummariesMonthlyWithBillingAccountId": {
+ "$ref": "./examples/ReservationSummariesMonthlyWithBillingAccountId.json"
+ },
+ "ReservationSummariesDailyWithBillingProfileId": {
+ "$ref": "./examples/ReservationSummariesDailyWithBillingProfileId.json"
+ },
+ "ReservationSummariesMonthlyWithBillingProfileId": {
+ "$ref": "./examples/ReservationSummariesMonthlyWithBillingProfileId.json"
+ },
+ "ReservationSummariesMonthlyWithBillingProfileIdReservationId": {
+ "$ref": "./examples/ReservationSummariesMonthlyWithBillingProfileIdReservationId.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeReservationsSummariesParameter"
+ },
+ {
+ "$ref": "#/parameters/grainParameter"
+ },
+ {
+ "name": "startDate",
+ "in": "query",
+ "description": "Start date. Only applicable when querying with billing profile",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "endDate",
+ "in": "query",
+ "description": "End date. Only applicable when querying with billing profile",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "$filter",
+ "description": "Required only for daily grain. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge'. Not applicable when querying with billing profile",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "reservationId",
+ "in": "query",
+ "description": "Reservation Id GUID. Only valid if reservationOrderId is also provided. Filter to a specific reservation",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "reservationOrderId",
+ "in": "query",
+ "description": "Reservation Order Id GUID. Required if reservationId is provided. Filter to a specific reservation order",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ReservationSummariesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationDetails": {
+ "get": {
+ "tags": [
+ "ReservationDetails"
+ ],
+ "operationId": "ReservationsDetails_ListByReservationOrder",
+ "description": "Lists the reservations details for provided date range.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "ReservationDetails": {
+ "$ref": "./examples/ReservationDetails.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/reservationOrderIdParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "Filter reservation details by date range. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge'",
+ "in": "query",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ReservationDetailsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationDetails": {
+ "get": {
+ "tags": [
+ "ReservationDetails"
+ ],
+ "operationId": "ReservationsDetails_ListByReservationOrderAndReservation",
+ "description": "Lists the reservations details for provided date range.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "ReservationDetailsWithReservationId": {
+ "$ref": "./examples/ReservationDetailsWithReservationId.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/reservationOrderIdParameter"
+ },
+ {
+ "$ref": "#/parameters/reservationIdParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "Filter reservation details by date range. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge' ",
+ "in": "query",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ReservationDetailsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Consumption/reservationDetails": {
+ "get": {
+ "tags": [
+ "ReservationDetails"
+ ],
+ "operationId": "ReservationsDetails_List",
+ "description": "Lists the reservations details for the defined scope and provided date range.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "ReservationDetailsByBillingAccountId": {
+ "$ref": "./examples/ReservationDetailsByBillingAccountId.json"
+ },
+ "ReservationDetailsByBillingProfileId": {
+ "$ref": "./examples/ReservationDetailsByBillingProfileId.json"
+ },
+ "ReservationDetailsByBillingProfileIdReservationId": {
+ "$ref": "./examples/ReservationDetailsByBillingProfileIdReservationId.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeReservationDetailsParameter"
+ },
+ {
+ "name": "startDate",
+ "in": "query",
+ "description": "Start date. Only applicable when querying with billing profile",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "endDate",
+ "in": "query",
+ "description": "End date. Only applicable when querying with billing profile",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "$filter",
+ "description": "Filter reservation details by date range. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge'. Not applicable when querying with billing profile",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "reservationId",
+ "in": "query",
+ "description": "Reservation Id GUID. Only valid if reservationOrderId is also provided. Filter to a specific reservation",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "reservationOrderId",
+ "in": "query",
+ "description": "Reservation Order Id GUID. Required if reservationId is provided. Filter to a specific reservation order",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ReservationDetailsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Consumption/reservationRecommendations": {
+ "get": {
+ "tags": [
+ "ReservationRecommendations"
+ ],
+ "operationId": "ReservationRecommendations_List",
+ "description": "List of recommendations for purchasing reserved instances.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "ReservationRecommendationsBySubscription-Legacy": {
+ "$ref": "./examples/ReservationRecommendationsBySubscription.json"
+ },
+ "ReservationRecommendationsByResourceGroup-Legacy": {
+ "$ref": "./examples/ReservationRecommendationsByResourceGroup.json"
+ },
+ "ReservationRecommendationsFilterBySubscriptionForScopeLookBackPeriod-Legacy": {
+ "$ref": "./examples/ReservationRecommendationsFilterBySubscriptionForScopeLookBackPeriod.json"
+ },
+ "ReservationRecommendationsByBillingAccount-Legacy": {
+ "$ref": "./examples/ReservationRecommendationsByBillingAccount.json"
+ },
+ "ReservationRecommendationsByBillingProfile-Modern": {
+ "$ref": "./examples/ReservationRecommendationsByBillingProfile.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/filterParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/scopeReservationRecommendationsParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ReservationRecommendationsListResult"
+ }
+ },
+ "204": {
+ "description": "An empty response is sent when there are no recommendations."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Consumption/reservationRecommendationDetails": {
+ "get": {
+ "tags": [
+ "ReservationRecommendationDetails"
+ ],
+ "operationId": "ReservationRecommendationDetails_Get",
+ "description": "Details of a reservation recommendation for what-if analysis of reserved instances.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "ReservationRecommendationsBySubscription-Legacy": {
+ "$ref": "./examples/ReservationRecommendationDetailsBySubscription.json"
+ },
+ "ReservationRecommendationsByResourceGroup-Legacy": {
+ "$ref": "./examples/ReservationRecommendationDetailsByResourceGroup.json"
+ },
+ "ReservationRecommendationsByBillingAccount-Legacy": {
+ "$ref": "./examples/ReservationRecommendationDetailsByBillingAccount.json"
+ },
+ "ReservationRecommendationsByBillingProfile-Modern": {
+ "$ref": "./examples/ReservationRecommendationDetailsByBillingProfile.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/scopeReservationRecommendationDetailsParameter"
+ },
+ {
+ "$ref": "#/parameters/scopeParameter"
+ },
+ {
+ "$ref": "#/parameters/regionParameter"
+ },
+ {
+ "$ref": "#/parameters/termParameter"
+ },
+ {
+ "$ref": "#/parameters/lookBackPeriodParameter"
+ },
+ {
+ "$ref": "#/parameters/productParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ReservationRecommendationDetailsModel"
+ }
+ },
+ "204": {
+ "description": "An empty response is sent when there are no recommendation details."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/HighCasedErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/reservationTransactions": {
+ "get": {
+ "tags": [
+ "ReservationTransactions"
+ ],
+ "operationId": "ReservationTransactions_List",
+ "description": "List of transactions for reserved instances on billing account scope",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "ReservationTransactionsByEnrollmentNumber": {
+ "$ref": "./examples/ReservationTransactionsListByEnrollmentNumber.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "description": "Filter reservation transactions by date range. The properties/EventDate for start date and end date. The filter supports 'le' and 'ge' ",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ReservationTransactionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.Consumption/reservationTransactions": {
+ "get": {
+ "tags": [
+ "ReservationTransactions"
+ ],
+ "operationId": "ReservationTransactions_ListByBillingProfile",
+ "description": "List of transactions for reserved instances on billing account scope",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "ReservationTransactionsByBillingProfileId": {
+ "$ref": "./examples/ReservationTransactionsListByBillingProfileId.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "description": "Filter reservation transactions by date range. The properties/EventDate for start date and end date. The filter supports 'le' and 'ge' ",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/billingProfileIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ModernReservationTransactionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/pricesheets/default": {
+ "get": {
+ "tags": [
+ "PriceSheet"
+ ],
+ "operationId": "PriceSheet_Get",
+ "description": "Gets the price sheet for a subscription. Price sheet is available via this API only for May 1, 2014 or later.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "PriceSheet": {
+ "$ref": "./examples/PriceSheet.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties/meterDetails within a price sheet. By default, these fields are not included when returning price sheet.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skiptoken",
+ "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$top",
+ "description": "May be used to limit the number of results to the top N results.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 1000
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/PriceSheetResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/pricesheets/default": {
+ "get": {
+ "tags": [
+ "PriceSheet"
+ ],
+ "operationId": "PriceSheet_GetByBillingPeriod",
+ "description": "Get the price sheet for a scope by subscriptionId and billing period. Price sheet is available via this API only for May 1, 2014 or later.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "PriceSheetForBillingPeriod": {
+ "$ref": "./examples/PriceSheetForBillingPeriod.json"
+ },
+ "PriceSheetExpand": {
+ "$ref": "./examples/PriceSheetExpand.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties/meterDetails within a price sheet. By default, these fields are not included when returning price sheet.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skiptoken",
+ "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$top",
+ "description": "May be used to limit the number of results to the top N results.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 1000
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingPeriodNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/PriceSheetResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/forecasts": {
+ "get": {
+ "tags": [
+ "Forecasts"
+ ],
+ "x-ms-odata": "#/definitions/Forecast",
+ "operationId": "Forecasts_List",
+ "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/"
+ },
+ "x-ms-examples": {
+ "ForecastsList": {
+ "$ref": "./examples/ForecastsList.json"
+ },
+ "ForecastsListFilterByGrain": {
+ "$ref": "./examples/ForecastsListFilterByGrain.json"
+ },
+ "ForecastsListFilterByDates": {
+ "$ref": "./examples/ForecastsListFilterByDates.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "description": "May be used to filter forecasts by properties/usageDate (Utc time), properties/chargeType or properties/grain. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ForecastsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/providers/Microsoft.Consumption/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Lists all of the available consumption REST API operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Consumption/aggregatedcost": {
+ "get": {
+ "tags": [
+ "AggregatedCost"
+ ],
+ "operationId": "AggregatedCost_GetByManagementGroup",
+ "description": "Provides the aggregate cost of a management group and all child management groups by current billing period.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "AggregatedCostByManagementGroup": {
+ "$ref": "./examples/AggregatedCostByManagementGroup.json"
+ },
+ "AggregatedCostByManagementGroupFilterByDate": {
+ "$ref": "./examples/AggregatedCostByManagementGroupFilterByDate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/managementGroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter aggregated cost by properties/usageStart (Utc time), properties/usageEnd (Utc time). The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a colon (:).",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ManagementGroupAggregatedCostResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/Microsoft.Consumption/aggregatedCost": {
+ "get": {
+ "tags": [
+ "AggregatedCost"
+ ],
+ "operationId": "AggregatedCost_GetForBillingPeriodByManagementGroup",
+ "description": "Provides the aggregate cost of a management group and all child management groups by specified billing period",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "AggregatedCostListForBillingPeriodByManagementGroup": {
+ "$ref": "./examples/AggregatedCostForBillingPeriodByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/managementGroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/billingPeriodNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ManagementGroupAggregatedCostResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.Consumption/events": {
+ "get": {
+ "tags": [
+ "Events"
+ ],
+ "operationId": "Events_ListByBillingProfile",
+ "description": "Lists the events that decrements Azure credits or Microsoft Azure consumption commitment for a billing account or a billing profile for a given start and end date.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "EventsListByBillingProfile": {
+ "$ref": "./examples/EventsListByBillingProfile.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/billingProfileIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/startDateParameter"
+ },
+ {
+ "$ref": "#/parameters/endDateParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Events"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/events": {
+ "get": {
+ "tags": [
+ "Events"
+ ],
+ "operationId": "Events_ListByBillingAccount",
+ "description": "Lists the events that decrements Azure credits or Microsoft Azure consumption commitment for a billing account or a billing profile for a given start and end date.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "EventsGetByBillingAccount": {
+ "$ref": "./examples/EventsGetByBillingAccount.json"
+ },
+ "EventsGetByBillingAccountWithFilters": {
+ "$ref": "./examples/EventsGetByBillingAccountWithFilters.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter the events by lotId, lotSource etc. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a colon (:).",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Events"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.Consumption/lots": {
+ "get": {
+ "tags": [
+ "Lots"
+ ],
+ "operationId": "Lots_ListByBillingProfile",
+ "description": "Lists all Azure credits and Microsoft Azure consumption commitments for a billing account or a billing profile. Microsoft Azure consumption commitments are only supported for the billing account scope.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "EventsListByBillingProfile": {
+ "$ref": "./examples/LotsListByBillingProfile.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/billingProfileIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Lots"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/lots": {
+ "get": {
+ "tags": [
+ "Lots"
+ ],
+ "operationId": "Lots_ListByBillingAccount",
+ "description": "Lists all Azure credits and Microsoft Azure consumption commitments for a billing account or a billing profile. Microsoft Azure consumption commitments are only supported for the billing account scope.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "LotsListByBillingAccount": {
+ "$ref": "./examples/LotsListByBillingAccount.json"
+ },
+ "LotsListByBillingAccountWithStatusFilter": {
+ "$ref": "./examples/LotsListByBillingAccountWithFilters.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter the lots by Status, Source etc. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a colon (:).",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Lots"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.Consumption/credits/balanceSummary": {
+ "get": {
+ "tags": [
+ "Credits"
+ ],
+ "operationId": "Credits_Get",
+ "description": "The credit summary by billingAccountId and billingProfileId.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "CreditSummaryByBillingProfile": {
+ "$ref": "./examples/CreditSummaryByBillingProfile.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/billingProfileIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CreditSummary"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "MeterDetails": {
+ "description": "The properties of the meter detail.",
+ "properties": {
+ "meterName": {
+ "description": "The name of the meter, within the given meter category",
+ "type": "string",
+ "readOnly": true
+ },
+ "meterCategory": {
+ "description": "The category of the meter, for example, 'Cloud services', 'Networking', etc..",
+ "type": "string",
+ "readOnly": true
+ },
+ "meterSubCategory": {
+ "description": "The subcategory of the meter, for example, 'A6 Cloud services', 'ExpressRoute (IXP)', etc..",
+ "type": "string",
+ "readOnly": true
+ },
+ "unit": {
+ "description": "The unit in which the meter consumption is charged, for example, 'Hours', 'GB', etc.",
+ "type": "string",
+ "readOnly": true
+ },
+ "meterLocation": {
+ "description": "The location in which the Azure service is available.",
+ "type": "string",
+ "readOnly": true
+ },
+ "totalIncludedQuantity": {
+ "description": "The total included quantity associated with the offer.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "pretaxStandardRate": {
+ "description": "The pretax listing price.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "serviceName": {
+ "description": "The name of the service.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceTier": {
+ "description": "The service tier.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UsageDetail": {
+ "type": "object",
+ "discriminator": "kind",
+ "description": "An usage detail resource.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "kind": {
+ "type": "string",
+ "description": "Specifies the kind of usage details.",
+ "enum": [
+ "legacy",
+ "modern"
+ ],
+ "x-ms-enum": {
+ "name": "UsageDetailsKind",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "kind"
+ ]
+ },
+ "UsageDetailsListResult": {
+ "description": "Result of listing usage details. It contains a list of available usage details in reverse chronological order by billing period.",
+ "properties": {
+ "value": {
+ "description": "The list of usage details.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/UsageDetail"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "LegacyUsageDetail": {
+ "description": "Legacy usage detail.",
+ "type": "object",
+ "x-ms-discriminator-value": "legacy",
+ "properties": {
+ "properties": {
+ "description": "Properties for legacy usage details",
+ "$ref": "#/definitions/LegacyUsageDetailProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UsageDetail"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "LegacyUsageDetailProperties": {
+ "description": "The properties of the legacy usage detail.",
+ "properties": {
+ "billingAccountId": {
+ "description": "Billing Account identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingAccountName": {
+ "description": "Billing Account Name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingPeriodStartDate": {
+ "description": "The billing period start date.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "billingPeriodEndDate": {
+ "description": "The billing period end date.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "billingProfileId": {
+ "description": "Billing Profile identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingProfileName": {
+ "description": "Billing Profile Name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "accountOwnerId": {
+ "description": "Account Owner Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "accountName": {
+ "description": "Account Name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subscriptionId": {
+ "description": "Subscription guid.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subscriptionName": {
+ "description": "Subscription name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "date": {
+ "description": "Date for the usage record.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "product": {
+ "description": "Product name for the consumed service or purchase. Not available for Marketplace.",
+ "type": "string",
+ "readOnly": true
+ },
+ "partNumber": {
+ "description": "Part Number of the service used. Can be used to join with the price sheet. Not available for marketplace.",
+ "type": "string",
+ "readOnly": true
+ },
+ "meterId": {
+ "description": "The meter id (GUID). Not available for marketplace. For reserved instance this represents the primary meter for which the reservation was purchased. For the actual VM Size for which the reservation is purchased see productOrderName.",
+ "type": "string",
+ "format": "uuid",
+ "readOnly": true
+ },
+ "meterDetails": {
+ "description": "The details about the meter. By default this is not populated, unless it's specified in $expand.",
+ "$ref": "#/definitions/MeterDetailsResponse",
+ "readOnly": true
+ },
+ "quantity": {
+ "description": "The usage quantity.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "effectivePrice": {
+ "description": "Effective Price that's charged for the usage.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "cost": {
+ "description": "The amount of cost before tax.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "unitPrice": {
+ "description": "Unit Price is the price applicable to you. (your EA or other contract price).",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "billingCurrency": {
+ "description": "Billing Currency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceLocation": {
+ "description": "Resource Location.",
+ "type": "string",
+ "readOnly": true
+ },
+ "consumedService": {
+ "description": "Consumed service name. Name of the azure resource provider that emits the usage or was purchased. This value is not provided for marketplace usage.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceId": {
+ "description": "Unique identifier of the Azure Resource Manager usage detail resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceName": {
+ "description": "Resource Name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceInfo1": {
+ "description": "Service-specific metadata.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceInfo2": {
+ "description": "Legacy field with optional service-specific metadata.",
+ "type": "string",
+ "readOnly": true
+ },
+ "additionalInfo": {
+ "description": "Additional details of this usage item. By default this is not populated, unless it's specified in $expand. Use this field to get usage line item specific details such as the actual VM Size (ServiceType) or the ratio in which the reservation discount is applied.",
+ "type": "string",
+ "readOnly": true
+ },
+ "invoiceSection": {
+ "description": "Invoice Section Name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "costCenter": {
+ "description": "The cost center of this department if it is a department and a cost center is provided.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceGroup": {
+ "description": "Resource Group Name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reservationId": {
+ "description": "ARM resource id of the reservation. Only applies to records relevant to reservations.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reservationName": {
+ "description": "User provided display name of the reservation. Last known name for a particular day is populated in the daily data. Only applies to records relevant to reservations.",
+ "type": "string",
+ "readOnly": true
+ },
+ "productOrderId": {
+ "description": "Product Order Id. For reservations this is the Reservation Order ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "productOrderName": {
+ "description": "Product Order Name. For reservations this is the SKU that was purchased.",
+ "type": "string",
+ "readOnly": true
+ },
+ "offerId": {
+ "description": "Offer Id. Ex: MS-AZR-0017P, MS-AZR-0148P.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isAzureCreditEligible": {
+ "description": "Is Azure Credit Eligible.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "term": {
+ "description": "Term (in months). 1 month for monthly recurring purchase. 12 months for a 1 year reservation. 36 months for a 3 year reservation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "publisherName": {
+ "description": "Publisher Name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "publisherType": {
+ "description": "Publisher Type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "planName": {
+ "description": "Plan Name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "chargeType": {
+ "description": "Indicates a charge represents credits, usage, a Marketplace purchase, a reservation fee, or a refund.",
+ "type": "string",
+ "readOnly": true
+ },
+ "frequency": {
+ "description": "Indicates how frequently this charge will occur. OneTime for purchases which only happen once, Monthly for fees which recur every month, and UsageBased for charges based on how much a service is used.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ModernUsageDetail": {
+ "description": "Modern usage detail.",
+ "type": "object",
+ "x-ms-discriminator-value": "modern",
+ "properties": {
+ "properties": {
+ "description": "Properties for modern usage details",
+ "$ref": "#/definitions/ModernUsageDetailProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UsageDetail"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "ModernUsageDetailProperties": {
+ "description": "The properties of the usage detail.",
+ "properties": {
+ "billingAccountId": {
+ "description": "Billing Account identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingAccountName": {
+ "description": "Name of the Billing Account.",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingPeriodStartDate": {
+ "description": "Billing Period Start Date as in the invoice.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "billingPeriodEndDate": {
+ "description": "Billing Period End Date as in the invoice.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "billingProfileId": {
+ "description": "Identifier for the billing profile that groups costs across invoices in the a singular billing currency across across the customers who have onboarded the Microsoft customer agreement and the customers in CSP who have made entitlement purchases like SaaS, Marketplace, RI, etc.",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingProfileName": {
+ "description": "Name of the billing profile that groups costs across invoices in the a singular billing currency across across the customers who have onboarded the Microsoft customer agreement and the customers in CSP who have made entitlement purchases like SaaS, Marketplace, RI, etc.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subscriptionGuid": {
+ "description": "Unique Microsoft generated identifier for the Azure Subscription.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subscriptionName": {
+ "description": "Name of the Azure Subscription.",
+ "type": "string",
+ "readOnly": true
+ },
+ "date": {
+ "description": "Date for the usage record.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "product": {
+ "description": "Name of the product that has accrued charges by consumption or purchase as listed in the invoice. Not available for Marketplace.",
+ "type": "string",
+ "readOnly": true
+ },
+ "meterId": {
+ "description": "The meter id (GUID). Not available for marketplace. For reserved instance this represents the primary meter for which the reservation was purchased. For the actual VM Size for which the reservation is purchased see productOrderName.",
+ "type": "string",
+ "format": "uuid",
+ "readOnly": true
+ },
+ "meterName": {
+ "description": "Identifies the name of the meter against which consumption is measured.",
+ "type": "string",
+ "readOnly": true
+ },
+ "meterRegion": {
+ "description": "Identifies the location of the datacenter for certain services that are priced based on datacenter location.",
+ "type": "string",
+ "readOnly": true
+ },
+ "meterCategory": {
+ "description": "Identifies the top-level service for the usage.",
+ "type": "string",
+ "readOnly": true
+ },
+ "meterSubCategory": {
+ "description": "Defines the type or sub-category of Azure service that can affect the rate.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceFamily": {
+ "description": "List the service family for the product purchased or charged (Example: Storage ; Compute).",
+ "type": "string",
+ "readOnly": true
+ },
+ "quantity": {
+ "description": "Measure the quantity purchased or consumed.The amount of the meter used during the billing period.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "unitOfMeasure": {
+ "description": "Identifies the Unit that the service is charged in. For example, GB, hours, 10,000 s.",
+ "type": "string",
+ "readOnly": true
+ },
+ "instanceName": {
+ "description": "Instance Name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "costInUSD": {
+ "description": "Estimated extendedCost or blended cost before tax in USD.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "unitPrice": {
+ "description": "Unit Price is the price applicable to you. (your EA or other contract price).",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "billingCurrencyCode": {
+ "description": "The currency defining the billed cost.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceLocation": {
+ "description": "Name of the resource location.",
+ "type": "string",
+ "readOnly": true
+ },
+ "consumedService": {
+ "description": "Consumed service name. Name of the azure resource provider that emits the usage or was purchased. This value is not provided for marketplace usage.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceInfo1": {
+ "description": "Service-specific metadata.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceInfo2": {
+ "description": "Legacy field with optional service-specific metadata.",
+ "type": "string",
+ "readOnly": true
+ },
+ "additionalInfo": {
+ "description": "Additional details of this usage item. Use this field to get usage line item specific details such as the actual VM Size (ServiceType) or the ratio in which the reservation discount is applied.",
+ "type": "string",
+ "readOnly": true
+ },
+ "invoiceSectionId": {
+ "description": "Identifier of the project that is being charged in the invoice. Not applicable for Microsoft Customer Agreements onboarded by partners.",
+ "type": "string",
+ "readOnly": true
+ },
+ "invoiceSectionName": {
+ "description": "Name of the project that is being charged in the invoice. Not applicable for Microsoft Customer Agreements onboarded by partners.",
+ "type": "string",
+ "readOnly": true
+ },
+ "costCenter": {
+ "description": "The cost center of this department if it is a department and a cost center is provided.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceGroup": {
+ "description": "Name of the Azure resource group used for cohesive lifecycle management of resources.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reservationId": {
+ "description": "ARM resource id of the reservation. Only applies to records relevant to reservations.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reservationName": {
+ "description": "User provided display name of the reservation. Last known name for a particular day is populated in the daily data. Only applies to records relevant to reservations.",
+ "type": "string",
+ "readOnly": true
+ },
+ "productOrderId": {
+ "description": "The identifier for the asset or Azure plan name that the subscription belongs to. For example: Azure Plan. For reservations this is the Reservation Order ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "productOrderName": {
+ "description": "Product Order Name. For reservations this is the SKU that was purchased.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isAzureCreditEligible": {
+ "description": "Determines if the cost is eligible to be paid for using Azure credits.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "term": {
+ "description": "Term (in months). Displays the term for the validity of the offer. For example. In case of reserved instances it displays 12 months for yearly term of reserved instance. For one time purchases or recurring purchases, the terms displays 1 month; This is not applicable for Azure consumption.",
+ "type": "string",
+ "readOnly": true
+ },
+ "publisherName": {
+ "description": "Name of the publisher of the service including Microsoft or Third Party publishers.",
+ "type": "string",
+ "readOnly": true
+ },
+ "publisherType": {
+ "description": "Type of publisher that identifies if the publisher is first party, third party reseller or third party agency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "chargeType": {
+ "description": "Indicates a charge represents credits, usage, a Marketplace purchase, a reservation fee, or a refund.",
+ "type": "string",
+ "readOnly": true
+ },
+ "frequency": {
+ "description": "Indicates how frequently this charge will occur. OneTime for purchases which only happen once, Monthly for fees which recur every month, and UsageBased for charges based on how much a service is used.",
+ "type": "string",
+ "readOnly": true
+ },
+ "costInBillingCurrency": {
+ "description": "ExtendedCost or blended cost before tax in billed currency.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "costInPricingCurrency": {
+ "description": "ExtendedCost or blended cost before tax in pricing currency to correlate with prices.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "exchangeRate": {
+ "description": "Exchange rate used in conversion from pricing currency to billing currency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "exchangeRateDate": {
+ "description": "Date on which exchange rate used in conversion from pricing currency to billing currency.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "invoiceId": {
+ "description": "Invoice ID as on the invoice where the specific transaction appears.",
+ "type": "string",
+ "readOnly": true
+ },
+ "previousInvoiceId": {
+ "description": "Reference to an original invoice there is a refund (negative cost). This is populated only when there is a refund.",
+ "type": "string",
+ "readOnly": true
+ },
+ "pricingCurrencyCode": {
+ "description": "Pricing Billing Currency.",
+ "type": "string",
+ "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.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceLocationNormalized": {
+ "description": "Resource Location Normalized.",
+ "type": "string",
+ "readOnly": true
+ },
+ "servicePeriodStartDate": {
+ "description": "Start date for the rating period when the service usage was rated for charges. The prices for Azure services are determined for the rating period.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "servicePeriodEndDate": {
+ "description": "End date for the period when the service usage was rated for charges. The prices for Azure services are determined based on the rating period.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "customerTenantId": {
+ "description": "Identifier of the customer's AAD tenant.",
+ "type": "string",
+ "readOnly": true
+ },
+ "customerName": {
+ "description": "Name of the customer's AAD tenant.",
+ "type": "string",
+ "readOnly": true
+ },
+ "partnerTenantId": {
+ "description": "Identifier for the partner's AAD tenant.",
+ "type": "string",
+ "readOnly": true
+ },
+ "partnerName": {
+ "description": "Name of the partner' AAD tenant.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resellerMpnId": {
+ "description": "MPNId for the reseller associated with the subscription.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resellerName": {
+ "description": "Reseller Name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "publisherId": {
+ "description": "Publisher Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "marketPrice": {
+ "description": "Market Price that's charged for the usage.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "exchangeRatePricingToBilling": {
+ "description": "Exchange Rate from pricing currency to billing currency.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "paygCostInBillingCurrency": {
+ "description": "The amount of PayG cost before tax in billing currency.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "paygCostInUSD": {
+ "description": "The amount of PayG cost before tax in US Dollar currency.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "partnerEarnedCreditRate": {
+ "description": "Rate of discount applied if there is a partner earned credit (PEC) based on partner admin link access.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "partnerEarnedCreditApplied": {
+ "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
+ }
+ }
+ },
+ "Marketplace": {
+ "description": "A marketplace resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/MarketplaceProperties",
+ "title": "Marketplace properties"
+ }
+ }
+ },
+ "MarketplacesListResult": {
+ "description": "Result of listing marketplaces. It contains a list of available marketplaces in reverse chronological order by billing period.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of marketplaces.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Marketplace"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "MarketplaceProperties": {
+ "description": "The properties of the marketplace usage detail.",
+ "type": "object",
+ "properties": {
+ "billingPeriodId": {
+ "description": "The id of the billing period resource that the usage belongs to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "usageStart": {
+ "description": "The start of the date time range covered by the usage detail.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "usageEnd": {
+ "description": "The end of the date time range covered by the usage detail.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "resourceRate": {
+ "description": "The marketplace resource rate.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "offerName": {
+ "description": "The type of offer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceGroup": {
+ "description": "The name of resource group.",
+ "type": "string",
+ "readOnly": true
+ },
+ "additionalInfo": {
+ "description": "Additional information.",
+ "type": "string",
+ "readOnly": true
+ },
+ "orderNumber": {
+ "description": "The order number.",
+ "type": "string",
+ "readOnly": true
+ },
+ "instanceName": {
+ "description": "The name of the resource instance that the usage is about.",
+ "type": "string",
+ "readOnly": true
+ },
+ "instanceId": {
+ "description": "The uri of the resource instance that the usage is about.",
+ "type": "string",
+ "readOnly": true
+ },
+ "currency": {
+ "description": "The ISO currency in which the meter is charged, for example, USD.",
+ "type": "string",
+ "readOnly": true
+ },
+ "consumedQuantity": {
+ "description": "The quantity of usage.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "unitOfMeasure": {
+ "description": "The unit of measure.",
+ "type": "string",
+ "readOnly": true
+ },
+ "pretaxCost": {
+ "description": "The amount of cost before tax.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "isEstimated": {
+ "description": "The estimated usage is subject to change.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "meterId": {
+ "description": "The meter id (GUID).",
+ "type": "string",
+ "format": "uuid",
+ "readOnly": true
+ },
+ "subscriptionGuid": {
+ "description": "Subscription guid.",
+ "type": "string",
+ "format": "uuid",
+ "readOnly": true
+ },
+ "subscriptionName": {
+ "description": "Subscription name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "accountName": {
+ "description": "Account name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "departmentName": {
+ "description": "Department name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "consumedService": {
+ "description": "Consumed service name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "costCenter": {
+ "description": "The cost center of this department if it is a department and a costcenter exists",
+ "type": "string",
+ "readOnly": true
+ },
+ "additionalProperties": {
+ "description": "Additional details of this usage item. By default this is not populated, unless it's specified in $expand.",
+ "type": "string",
+ "readOnly": true
+ },
+ "publisherName": {
+ "description": "The name of publisher.",
+ "type": "string",
+ "readOnly": true
+ },
+ "planName": {
+ "description": "The name of plan.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isRecurringCharge": {
+ "description": "Flag indicating whether this is a recurring charge or not.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "Balance": {
+ "description": "A balance resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BalanceProperties",
+ "title": "Balance properties"
+ }
+ }
+ },
+ "BalanceProperties": {
+ "description": "The properties of the balance.",
+ "type": "object",
+ "properties": {
+ "currency": {
+ "description": "The ISO currency in which the meter is charged, for example, USD.",
+ "type": "string",
+ "readOnly": true
+ },
+ "beginningBalance": {
+ "description": "The beginning balance for the billing period.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "endingBalance": {
+ "description": "The ending balance for the billing period (for open periods this will be updated daily).",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "newPurchases": {
+ "description": "Total new purchase amount.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "adjustments": {
+ "description": "Total adjustment amount.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "utilized": {
+ "description": "Total Commitment usage.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "serviceOverage": {
+ "description": "Overage for Azure services.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "chargesBilledSeparately": {
+ "description": "Charges Billed separately.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "totalOverage": {
+ "description": "serviceOverage + chargesBilledSeparately.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "totalUsage": {
+ "description": "Azure service commitment + total Overage.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "azureMarketplaceServiceCharges": {
+ "description": "Total charges for Azure Marketplace.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "billingFrequency": {
+ "description": "The billing frequency.",
+ "type": "string",
+ "enum": [
+ "Month",
+ "Quarter",
+ "Year"
+ ],
+ "x-ms-enum": {
+ "name": "BillingFrequency",
+ "modelAsString": true
+ }
+ },
+ "priceHidden": {
+ "description": "Price is hidden or not.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "newPurchasesDetails": {
+ "description": "List of new purchases.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "the name of new purchase.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "the value of new purchase.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ }
+ }
+ },
+ "readOnly": true
+ },
+ "adjustmentDetails": {
+ "description": "List of Adjustments (Promo credit, SIE credit etc.).",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "the name of new adjustment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "the value of new adjustment.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ }
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationSummary": {
+ "description": "reservation summary resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ReservationSummaryProperties",
+ "title": "Reservation Summary properties"
+ }
+ }
+ },
+ "ReservationSummariesListResult": {
+ "description": "Result of listing reservation summaries.",
+ "properties": {
+ "value": {
+ "description": "The list of reservation summaries.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ReservationSummary"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationSummaryProperties": {
+ "description": "The properties of the reservation summary.",
+ "properties": {
+ "reservationOrderId": {
+ "description": "The reservation order ID is the identifier for a reservation purchase. Each reservation order ID represents a single purchase transaction. A reservation order contains reservations. The reservation order specifies the VM size and region for the reservations.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reservationId": {
+ "description": "The reservation ID is the identifier of a reservation within a reservation order. Each reservation is the grouping for applying the benefit scope and also specifies the number of instances to which the reservation benefit can be applied to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "skuName": {
+ "description": "This is the ARM Sku name. It can be used to join with the serviceType field in additional info in usage records.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reservedHours": {
+ "description": "This is the total hours reserved. E.g. if reservation for 1 instance was made on 1 PM, this will be 11 hours for that day and 24 hours from subsequent days",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "usageDate": {
+ "description": "Data corresponding to the utilization record. If the grain of data is monthly, it will be first day of month.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "usedHours": {
+ "description": "Total used hours by the reservation",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "minUtilizationPercentage": {
+ "description": "This is the minimum hourly utilization in the usage time (day or month). E.g. if usage record corresponds to 12/10/2017 and on that for hour 4 and 5, utilization was 10%, this field will return 10% for that day",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "avgUtilizationPercentage": {
+ "description": "This is average utilization for the entire time range. (day or month depending on the grain)",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "maxUtilizationPercentage": {
+ "description": "This is the maximum hourly utilization in the usage time (day or month). E.g. if usage record corresponds to 12/10/2017 and on that for hour 4 and 5, utilization was 100%, this field will return 100% for that day.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "kind": {
+ "description": "The reservation kind.",
+ "type": "string",
+ "readOnly": true
+ },
+ "purchasedQuantity": {
+ "description": "This is the purchased quantity for the reservationId.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "remainingQuantity": {
+ "description": "This is the remaining quantity for the reservationId.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "totalReservedQuantity": {
+ "description": "This is the total count of instances that are reserved for the reservationId.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "usedQuantity": {
+ "description": "This is the used quantity for the reservationId.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "utilizedPercentage": {
+ "description": "This is the utilized percentage for the reservation Id.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationDetail": {
+ "description": "reservation detail resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ReservationDetailProperties",
+ "title": "Reservation Detail properties"
+ }
+ }
+ },
+ "ReservationDetailsListResult": {
+ "description": "Result of listing reservation details.",
+ "properties": {
+ "value": {
+ "description": "The list of reservation details.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ReservationDetail"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationDetailProperties": {
+ "description": "The properties of the reservation detail.",
+ "properties": {
+ "reservationOrderId": {
+ "description": "The reservation order ID is the identifier for a reservation purchase. Each reservation order ID represents a single purchase transaction. A reservation order contains reservations. The reservation order specifies the VM size and region for the reservations.",
+ "type": "string",
+ "readOnly": true
+ },
+ "instanceFlexibilityRatio": {
+ "description": "The instance Flexibility Ratio.",
+ "type": "string",
+ "readOnly": true
+ },
+ "instanceFlexibilityGroup": {
+ "description": "The instance Flexibility Group.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reservationId": {
+ "description": "The reservation ID is the identifier of a reservation within a reservation order. Each reservation is the grouping for applying the benefit scope and also specifies the number of instances to which the reservation benefit can be applied to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "skuName": {
+ "description": "This is the ARM Sku name. It can be used to join with the serviceType field in additional info in usage records.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reservedHours": {
+ "description": "This is the total hours reserved for the day. E.g. if reservation for 1 instance was made on 1 PM, this will be 11 hours for that day and 24 hours from subsequent days.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "usageDate": {
+ "description": "The date on which consumption occurred.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "usedHours": {
+ "description": "This is the total hours used by the instance.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "instanceId": {
+ "description": "This identifier is the name of the resource or the fully qualified Resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "totalReservedQuantity": {
+ "description": "This is the total count of instances that are reserved for the reservationId.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "kind": {
+ "description": "The reservation kind.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationRecommendationDetailsModel": {
+ "description": "Reservation recommendation details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource Location."
+ },
+ "sku": {
+ "type": "string",
+ "description": "Resource sku"
+ },
+ "etag": {
+ "type": "string",
+ "description": "Resource etag."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ReservationRecommendationDetailsProperties",
+ "title": "Reservation Recommendation details properties"
+ }
+ }
+ },
+ "ReservationRecommendationDetailsProperties": {
+ "description": "The properties of the reservation recommendation.",
+ "properties": {
+ "currency": {
+ "description": "An ISO 4217 currency code identifier for the costs and savings ",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "Resource specific properties.",
+ "$ref": "#/definitions/ReservationRecommendationDetailsResourceProperties",
+ "readOnly": true
+ },
+ "resourceGroup": {
+ "description": "Resource Group.",
+ "type": "string",
+ "readOnly": true
+ },
+ "savings": {
+ "description": "Savings information for the recommendation.",
+ "$ref": "#/definitions/ReservationRecommendationDetailsSavingsProperties",
+ "readOnly": true
+ },
+ "scope": {
+ "description": "Scope of the reservation, ex: Single or Shared.",
+ "type": "string",
+ "readOnly": true
+ },
+ "usage": {
+ "description": "Historical usage details used to calculate the estimated savings.",
+ "$ref": "#/definitions/ReservationRecommendationDetailsUsageProperties",
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationRecommendationDetailsCalculatedSavingsProperties": {
+ "description": "Details of estimated savings.",
+ "properties": {
+ "onDemandCost": {
+ "description": "The cost without reservation.",
+ "type": "number",
+ "readOnly": true
+ },
+ "overageCost": {
+ "description": "The difference between total reservation cost and reservation cost.",
+ "type": "number",
+ "readOnly": true
+ },
+ "quantity": {
+ "description": "The quantity for calculated savings.",
+ "type": "number",
+ "readOnly": true
+ },
+ "reservationCost": {
+ "description": "The exact cost of the estimated usage using reservation.",
+ "type": "number",
+ "readOnly": true
+ },
+ "totalReservationCost": {
+ "description": "The cost of the suggested quantity.",
+ "type": "number",
+ "readOnly": true
+ },
+ "reservedUnitCount": {
+ "description": "The number of reserved units used to calculate savings. Always 1 for virtual machines.",
+ "type": "number"
+ },
+ "savings": {
+ "description": "The amount saved by purchasing the recommended quantity of reservation.",
+ "type": "number",
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationRecommendationDetailsResourceProperties": {
+ "description": "Details of the resource.",
+ "properties": {
+ "appliedScopes": {
+ "description": "List of subscriptions for which the reservation is applied.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "onDemandRate": {
+ "description": "On demand rate of the resource.",
+ "type": "number",
+ "readOnly": true
+ },
+ "product": {
+ "description": "Azure product ex: Standard_E8s_v3 etc.",
+ "type": "string",
+ "readOnly": true
+ },
+ "region": {
+ "description": "Azure resource region ex:EastUS, WestUS etc.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reservationRate": {
+ "description": "Reservation rate of the resource.",
+ "type": "number",
+ "readOnly": true
+ },
+ "resourceType": {
+ "description": "The azure resource type.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationRecommendationDetailsSavingsProperties": {
+ "description": "Details of the estimated savings.",
+ "properties": {
+ "calculatedSavings": {
+ "description": "List of calculated savings.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReservationRecommendationDetailsCalculatedSavingsProperties"
+ }
+ },
+ "lookBackPeriod": {
+ "description": "Number of days of usage to look back used for computing the recommendation.",
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true
+ },
+ "recommendedQuantity": {
+ "description": "Number of recommended units of the resource.",
+ "type": "number",
+ "readOnly": true
+ },
+ "reservationOrderTerm": {
+ "description": "Term period of the reservation, ex: P1Y or P3Y.",
+ "type": "string",
+ "readOnly": true
+ },
+ "savingsType": {
+ "description": "Type of savings, ex: instance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "unitOfMeasure": {
+ "description": "Measurement unit ex: hour etc.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationRecommendationDetailsUsageProperties": {
+ "description": "Details about historical usage data that has been used for computing the recommendation.",
+ "properties": {
+ "firstConsumptionDate": {
+ "description": "The first usage date used for looking back for computing the recommendation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastConsumptionDate": {
+ "description": "The last usage date used for looking back for computing the recommendation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lookBackUnitType": {
+ "description": "What the usage data values represent ex: virtual machine instance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "usageData": {
+ "description": "The breakdown of historical resource usage. The values are in the order of usage between the firstConsumptionDate and the lastConsumptionDate.",
+ "type": "array",
+ "items": {
+ "type": "number"
+ },
+ "readOnly": true
+ },
+ "usageGrain": {
+ "description": "The grain of the values represented in the usage data ex: hourly.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationRecommendationsListResult": {
+ "description": "Result of listing reservation recommendations.",
+ "properties": {
+ "value": {
+ "description": "The list of reservation recommendations.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ReservationRecommendation"
+ }
+ },
+ "nextLink": {
+ "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
+ }
+ }
+ },
+ "ReservationRecommendation": {
+ "description": "A reservation recommendation resource.",
+ "type": "object",
+ "discriminator": "kind",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "$ref": "#/definitions/ResourceAttributes"
+ }
+ ],
+ "properties": {
+ "kind": {
+ "type": "string",
+ "description": "Specifies the kind of reservation recommendation.",
+ "enum": [
+ "legacy",
+ "modern"
+ ],
+ "x-ms-enum": {
+ "name": "ReservationRecommendationKind",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "kind"
+ ]
+ },
+ "LegacyReservationRecommendation": {
+ "description": "Legacy reservation recommendation.",
+ "type": "object",
+ "x-ms-discriminator-value": "legacy",
+ "properties": {
+ "properties": {
+ "description": "Properties for legacy reservation recommendation",
+ "$ref": "#/definitions/LegacyReservationRecommendationProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReservationRecommendation"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "LegacyReservationRecommendationProperties": {
+ "description": "The properties of the reservation recommendation.",
+ "properties": {
+ "lookBackPeriod": {
+ "description": "The number of days of usage to look back for recommendation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "instanceFlexibilityRatio": {
+ "description": "The instance Flexibility Ratio.",
+ "type": "number",
+ "readOnly": true
+ },
+ "instanceFlexibilityGroup": {
+ "description": "The instance Flexibility Group.",
+ "type": "string",
+ "readOnly": true
+ },
+ "normalizedSize": {
+ "description": "The normalized Size.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendedQuantityNormalized": {
+ "description": "The recommended Quantity Normalized.",
+ "type": "number",
+ "readOnly": true
+ },
+ "meterId": {
+ "description": "The meter id (GUID)",
+ "type": "string",
+ "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",
+ "readOnly": true
+ },
+ "costWithNoReservedInstances": {
+ "description": "The total amount of cost without reserved instances.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "recommendedQuantity": {
+ "description": "Recommended quality for reserved instances.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "totalCostWithReservedInstances": {
+ "description": "The total amount of cost with reserved instances.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "netSavings": {
+ "description": "Total estimated savings with reserved instances.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "firstUsageDate": {
+ "description": "The usage date for looking back.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "scope": {
+ "description": "Shared or single recommendation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "skuProperties": {
+ "description": "List of sku properties",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuProperty"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "SkuProperty": {
+ "description": "The Sku property",
+ "properties": {
+ "name": {
+ "description": "The name of sku property.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "The value of sku property.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ModernReservationRecommendation": {
+ "description": "Modern reservation recommendation.",
+ "type": "object",
+ "x-ms-discriminator-value": "modern",
+ "properties": {
+ "properties": {
+ "description": "Properties for modern reservation recommendation",
+ "$ref": "#/definitions/ModernReservationRecommendationProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReservationRecommendation"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "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": "integer",
+ "format": "int32",
+ "readOnly": true
+ },
+ "instanceFlexibilityRatio": {
+ "description": "The instance Flexibility Ratio.",
+ "type": "number",
+ "readOnly": true
+ },
+ "instanceFlexibilityGroup": {
+ "description": "The instance Flexibility Group.",
+ "type": "string",
+ "readOnly": true
+ },
+ "normalizedSize": {
+ "description": "The normalized Size.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendedQuantityNormalized": {
+ "description": "The recommended Quantity Normalized.",
+ "type": "number",
+ "readOnly": true
+ },
+ "meterId": {
+ "description": "The meter id (GUID)",
+ "type": "string",
+ "format": "uuid",
+ "readOnly": true
+ },
+ "term": {
+ "description": "RI recommendations in one or three year terms.",
+ "type": "string",
+ "readOnly": true
+ },
+ "costWithNoReservedInstances": {
+ "description": "The total amount of cost without reserved instances.",
+ "$ref": "#/definitions/amount",
+ "readOnly": true
+ },
+ "recommendedQuantity": {
+ "description": "Recommended quality for reserved instances.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "totalCostWithReservedInstances": {
+ "description": "The total amount of cost with reserved instances.",
+ "$ref": "#/definitions/amount",
+ "readOnly": true
+ },
+ "netSavings": {
+ "description": "Total estimated savings with reserved instances.",
+ "$ref": "#/definitions/amount",
+ "readOnly": true
+ },
+ "firstUsageDate": {
+ "description": "The usage date for looking back.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "scope": {
+ "description": "Shared or single recommendation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "skuProperties": {
+ "description": "List of sku properties",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuProperty"
+ },
+ "readOnly": true
+ },
+ "skuName": {
+ "description": "This is the ARM Sku name.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ModernReservationTransactionProperties": {
+ "description": "The properties of a modern reservation transaction.",
+ "properties": {
+ "amount": {
+ "description": "The charge of the transaction.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "armSkuName": {
+ "description": "This is the ARM Sku name. It can be used to join with the serviceType field in additional info in usage records.",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingFrequency": {
+ "description": "The billing frequency, which can be either one-time or recurring.",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingProfileId": {
+ "description": "Billing profile Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingProfileName": {
+ "description": "Billing profile name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "currency": {
+ "description": "The ISO currency in which the transaction is charged, for example, USD.",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "The description of the transaction.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eventDate": {
+ "description": "The date of the transaction",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "eventType": {
+ "description": "The type of the transaction (Purchase, Cancel, etc.)",
+ "type": "string",
+ "readOnly": true
+ },
+ "invoice": {
+ "description": "Invoice Number",
+ "type": "string",
+ "readOnly": true
+ },
+ "invoiceId": {
+ "description": "Invoice Id as on the invoice where the specific transaction appears.",
+ "type": "string",
+ "readOnly": true
+ },
+ "invoiceSectionId": {
+ "description": "Invoice Section Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "invoiceSectionName": {
+ "description": "Invoice Section Name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "purchasingSubscriptionGuid": {
+ "description": "The subscription guid that makes the transaction.",
+ "type": "string",
+ "format": "uuid",
+ "readOnly": true
+ },
+ "purchasingSubscriptionName": {
+ "description": "The subscription name that makes the transaction.",
+ "type": "string",
+ "readOnly": true
+ },
+ "quantity": {
+ "description": "The quantity of the transaction.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "region": {
+ "description": "The region of the transaction.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reservationOrderId": {
+ "description": "The reservation order ID is the identifier for a reservation purchase. Each reservation order ID represents a single purchase transaction. A reservation order contains reservations. The reservation order specifies the VM size and region for the reservations.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reservationOrderName": {
+ "description": "The name of the reservation order.",
+ "type": "string",
+ "readOnly": true
+ },
+ "term": {
+ "description": "This is the term of the transaction.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ModernReservationTransaction": {
+ "description": "Modern Reservation transaction resource.",
+ "type": "object",
+ "x-ms-discriminator-value": "Modern",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReservationTransactionResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ModernReservationTransactionProperties",
+ "title": "Reservation Transaction properties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "LegacyReservationTransaction": {
+ "description": "Legacy Reservation transaction resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReservationTransaction"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/LegacyReservationTransactionProperties",
+ "title": "Reservation Transaction properties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "LegacyReservationTransactionProperties": {
+ "description": "The properties of a legacy reservation transaction.",
+ "properties": {
+ "eventDate": {
+ "description": "The date of the transaction",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "reservationOrderId": {
+ "description": "The reservation order ID is the identifier for a reservation purchase. Each reservation order ID represents a single purchase transaction. A reservation order contains reservations. The reservation order specifies the VM size and region for the reservations.",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "The description of the transaction.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eventType": {
+ "description": "The type of the transaction (Purchase, Cancel, etc.)",
+ "type": "string",
+ "readOnly": true
+ },
+ "quantity": {
+ "description": "The quantity of the transaction.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "amount": {
+ "description": "The charge of the transaction.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "currency": {
+ "description": "The ISO currency in which the transaction is charged, for example, USD.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reservationOrderName": {
+ "description": "The name of the reservation order.",
+ "type": "string",
+ "readOnly": true
+ },
+ "purchasingEnrollment": {
+ "description": "The purchasing enrollment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "purchasingSubscriptionGuid": {
+ "description": "The subscription guid that makes the transaction.",
+ "type": "string",
+ "format": "uuid",
+ "readOnly": true
+ },
+ "purchasingSubscriptionName": {
+ "description": "The subscription name that makes the transaction.",
+ "type": "string",
+ "readOnly": true
+ },
+ "armSkuName": {
+ "description": "This is the ARM Sku name. It can be used to join with the serviceType field in additional info in usage records.",
+ "type": "string",
+ "readOnly": true
+ },
+ "term": {
+ "description": "This is the term of the transaction.",
+ "type": "string",
+ "readOnly": true
+ },
+ "region": {
+ "description": "The region of the transaction.",
+ "type": "string",
+ "readOnly": true
+ },
+ "accountName": {
+ "description": "The name of the account that makes the transaction.",
+ "type": "string",
+ "readOnly": true
+ },
+ "accountOwnerEmail": {
+ "description": "The email of the account owner that makes the transaction.",
+ "type": "string",
+ "readOnly": true
+ },
+ "departmentName": {
+ "description": "The department name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "costCenter": {
+ "description": "The cost center of this department if it is a department and a cost center is provided.",
+ "type": "string",
+ "readOnly": true
+ },
+ "currentEnrollment": {
+ "description": "The current enrollment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingFrequency": {
+ "description": "The billing frequency, which can be either one-time or recurring.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationTransaction": {
+ "description": "Reservation transaction resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReservationTransactionResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/LegacyReservationTransactionProperties",
+ "title": "Reservation Transaction properties"
+ }
+ }
+ },
+ "ReservationTransactionsListResult": {
+ "description": "Result of listing reservation recommendations.",
+ "properties": {
+ "value": {
+ "description": "The list of reservation recommendations.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ReservationTransaction"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ModernReservationTransactionsListResult": {
+ "description": "Result of listing reservation recommendations.",
+ "properties": {
+ "value": {
+ "description": "The list of reservation recommendations.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ModernReservationTransaction"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "TagsResult": {
+ "description": "A resource listing all tags.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TagProperties",
+ "title": "Tag properties"
+ }
+ }
+ },
+ "TagProperties": {
+ "description": "The properties of the tag.",
+ "properties": {
+ "tags": {
+ "description": "A list of Tag.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Tag"
+ }
+ },
+ "nextLink": {
+ "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
+ }
+ }
+ },
+ "Tag": {
+ "description": "The tag resource.",
+ "properties": {
+ "key": {
+ "description": "Tag key.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Tag values.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "BudgetsListResult": {
+ "description": "Result of listing budgets. It contains a list of available budgets in the scope provided.",
+ "properties": {
+ "value": {
+ "description": "The list of budgets.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Budget"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Budget": {
+ "description": "A budget resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BudgetProperties",
+ "title": "Budget properties"
+ }
+ }
+ },
+ "BudgetProperties": {
+ "description": "The properties of the budget.",
+ "properties": {
+ "category": {
+ "description": "The category of the budget, whether the budget tracks cost or usage.",
+ "type": "string",
+ "enum": [
+ "Cost"
+ ],
+ "x-ms-enum": {
+ "name": "CategoryType",
+ "modelAsString": true
+ }
+ },
+ "amount": {
+ "description": "The total amount of cost to track with the budget",
+ "type": "number",
+ "format": "decimal"
+ },
+ "timeGrain": {
+ "description": "The time covered by a budget. Tracking of the amount will be reset based on the time grain. BillingMonth, BillingQuarter, and BillingAnnual are only supported by WD customers",
+ "type": "string",
+ "enum": [
+ "Monthly",
+ "Quarterly",
+ "Annually",
+ "BillingMonth",
+ "BillingQuarter",
+ "BillingAnnual"
+ ],
+ "x-ms-enum": {
+ "name": "TimeGrainType",
+ "modelAsString": true
+ }
+ },
+ "timePeriod": {
+ "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 twelve months. Past start date should be selected within the timegrain period. There are no restrictions on the end date.",
+ "$ref": "#/definitions/BudgetTimePeriod"
+ },
+ "filter": {
+ "description": "May be used to filter budgets by user-specified dimensions and/or tags.",
+ "type": "object",
+ "$ref": "#/definitions/BudgetFilter"
+ },
+ "currentSpend": {
+ "description": "The current amount of cost which is being tracked for a budget.",
+ "$ref": "#/definitions/CurrentSpend",
+ "readOnly": true
+ },
+ "notifications": {
+ "type": "object",
+ "description": "Dictionary of notifications associated with the budget. Budget can have up to five notifications.",
+ "additionalProperties": {
+ "type": "object",
+ "$ref": "#/definitions/Notification"
+ },
+ "maxItems": 5
+ },
+ "forecastSpend": {
+ "description": "The forecasted cost which is being tracked for a budget.",
+ "$ref": "#/definitions/ForecastSpend",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "category",
+ "amount",
+ "timeGrain",
+ "timePeriod"
+ ]
+ },
+ "BudgetTimePeriod": {
+ "description": "The start and end date for a budget.",
+ "properties": {
+ "startDate": {
+ "description": "The start date for the budget.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "endDate": {
+ "description": "The end date for the budget. If not provided, we default this to 10 years from the start date.",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "startDate"
+ ]
+ },
+ "BudgetFilter": {
+ "description": "May be used to filter budgets by resource group, resource, or meter.",
+ "properties": {
+ "and": {
+ "description": "The logical \"AND\" expression. Must have at least 2 items.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BudgetFilterProperties"
+ },
+ "minItems": 0
+ },
+ "not": {
+ "description": "The logical \"NOT\" expression.",
+ "$ref": "#/definitions/BudgetFilterProperties"
+ },
+ "dimensions": {
+ "description": "Has comparison expression for a dimension",
+ "$ref": "#/definitions/BudgetComparisonExpression"
+ },
+ "tags": {
+ "description": "Has comparison expression for a tag",
+ "$ref": "#/definitions/BudgetComparisonExpression"
+ }
+ }
+ },
+ "BudgetFilterProperties": {
+ "description": "The Dimensions or Tags to filter a budget by.",
+ "properties": {
+ "dimensions": {
+ "description": "Has comparison expression for a dimension",
+ "$ref": "#/definitions/BudgetComparisonExpression"
+ },
+ "tags": {
+ "description": "Has comparison expression for a tag",
+ "$ref": "#/definitions/BudgetComparisonExpression"
+ }
+ }
+ },
+ "BudgetComparisonExpression": {
+ "description": "The comparison expression to be used in the budgets.",
+ "properties": {
+ "name": {
+ "description": "The name of the column to use in comparison.",
+ "type": "string"
+ },
+ "operator": {
+ "description": "The operator to use for comparison.",
+ "type": "string",
+ "enum": [
+ "In"
+ ],
+ "x-ms-enum": {
+ "name": "BudgetOperatorType",
+ "modelAsString": true
+ }
+ },
+ "values": {
+ "description": "Array of values to use for comparison",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 0
+ }
+ },
+ "required": [
+ "name",
+ "operator",
+ "values"
+ ]
+ },
+ "CurrentSpend": {
+ "description": "The current amount of cost which is being tracked for a budget.",
+ "properties": {
+ "amount": {
+ "description": "The total amount of cost which is being tracked by the budget.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "unit": {
+ "description": "The unit of measure for the budget amount.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "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": {
+ "enabled": {
+ "description": "The notification is enabled or not.",
+ "type": "boolean"
+ },
+ "operator": {
+ "description": "The comparison operator.",
+ "type": "string",
+ "enum": [
+ "EqualTo",
+ "GreaterThan",
+ "GreaterThanOrEqualTo"
+ ],
+ "x-ms-enum": {
+ "name": "OperatorType",
+ "modelAsString": true
+ }
+ },
+ "threshold": {
+ "description": "Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000.",
+ "type": "number",
+ "format": "decimal"
+ },
+ "contactEmails": {
+ "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": 0,
+ "maxItems": 50
+ },
+ "contactRoles": {
+ "description": "Contact roles to send the budget notification to when the threshold is exceeded.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "contactGroups": {
+ "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": [
+ "enabled",
+ "operator",
+ "threshold",
+ "contactEmails"
+ ]
+ },
+ "PriceSheetResult": {
+ "description": "An pricesheet resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PriceSheetModel",
+ "title": "Price sheet properties"
+ }
+ }
+ },
+ "PriceSheetModel": {
+ "description": "price sheet result. It contains the pricesheet associated with billing period",
+ "properties": {
+ "pricesheets": {
+ "description": "Price sheet",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/PriceSheetProperties"
+ }
+ },
+ "nextLink": {
+ "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
+ }
+ }
+ },
+ "PriceSheetProperties": {
+ "description": "The properties of the price sheet.",
+ "properties": {
+ "billingPeriodId": {
+ "description": "The id of the billing period resource that the usage belongs to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "meterId": {
+ "description": "The meter id (GUID)",
+ "type": "string",
+ "format": "uuid",
+ "readOnly": true
+ },
+ "meterDetails": {
+ "description": "The details about the meter. By default this is not populated, unless it's specified in $expand.",
+ "$ref": "#/definitions/MeterDetails",
+ "readOnly": true
+ },
+ "unitOfMeasure": {
+ "description": "Unit of measure",
+ "type": "string",
+ "readOnly": true
+ },
+ "includedQuantity": {
+ "description": "Included quality for an offer",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "partNumber": {
+ "description": "Part Number",
+ "type": "string",
+ "readOnly": true
+ },
+ "unitPrice": {
+ "description": "Unit Price",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "currencyCode": {
+ "description": "Currency Code",
+ "type": "string",
+ "readOnly": true
+ },
+ "offerId": {
+ "description": "Offer Id",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Forecast": {
+ "description": "A forecast resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ForecastProperties",
+ "title": "Forecast properties"
+ }
+ }
+ },
+ "ForecastsListResult": {
+ "description": "Result of listing forecasts. It contains a list of available forecasts.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of forecasts.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Forecast"
+ }
+ }
+ }
+ },
+ "ForecastProperties": {
+ "description": "The properties of the forecast charge.",
+ "type": "object",
+ "properties": {
+ "usageDate": {
+ "description": "The usage date of the forecast.",
+ "type": "string",
+ "readOnly": true
+ },
+ "grain": {
+ "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",
+ "Monthly",
+ "Yearly"
+ ],
+ "x-ms-enum": {
+ "name": "Grain",
+ "modelAsString": true
+ }
+ },
+ "charge": {
+ "description": "The amount of charge",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "currency": {
+ "description": "The ISO currency in which the meter is charged, for example, USD.",
+ "type": "string",
+ "readOnly": true
+ },
+ "chargeType": {
+ "description": "The type of the charge. Could be actual or forecast",
+ "type": "string",
+ "enum": [
+ "Actual",
+ "Forecast"
+ ],
+ "x-ms-enum": {
+ "name": "ChargeType",
+ "modelAsString": true
+ }
+ },
+ "confidenceLevels": {
+ "description": "The details about the forecast confidence levels. This is populated only when chargeType is Forecast.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "percentage": {
+ "description": "The percentage level of the confidence",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "bound": {
+ "description": "The boundary of the percentage, values could be 'Upper' or 'Lower'",
+ "type": "string",
+ "enum": [
+ "Upper",
+ "Lower"
+ ],
+ "x-ms-enum": {
+ "name": "Bound",
+ "modelAsString": true
+ }
+ },
+ "value": {
+ "description": "The amount of forecast within the percentage level",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ }
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ManagementGroupAggregatedCostResult": {
+ "description": "A management group aggregated cost resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ManagementGroupAggregatedCostProperties",
+ "title": "Management Group Aggregated Cost properties"
+ }
+ }
+ },
+ "ManagementGroupAggregatedCostProperties": {
+ "description": "The properties of the Management Group Aggregated Cost.",
+ "type": "object",
+ "properties": {
+ "billingPeriodId": {
+ "description": "The id of the billing period resource that the aggregated cost belongs to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "usageStart": {
+ "description": "The start of the date time range covered by aggregated cost.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "usageEnd": {
+ "description": "The end of the date time range covered by the aggregated cost.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "azureCharges": {
+ "description": "Azure Charges.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "marketplaceCharges": {
+ "description": "Marketplace Charges.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "chargesBilledSeparately": {
+ "description": "Charges Billed Separately.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "currency": {
+ "description": "The ISO currency in which the meter is charged, for example, USD.",
+ "type": "string",
+ "readOnly": true
+ },
+ "children": {
+ "description": "Children of a management group",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagementGroupAggregatedCostResult"
+ }
+ },
+ "includedSubscriptions": {
+ "description": "List of subscription Guids included in the calculation of aggregated cost",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "excludedSubscriptions": {
+ "description": "List of subscription Guids excluded from the calculation of aggregated cost",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ChargesListResult": {
+ "description": "Result of listing charge summary.",
+ "properties": {
+ "value": {
+ "description": "The list of charge summary",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ChargeSummary"
+ }
+ }
+ }
+ },
+ "ChargeSummary": {
+ "description": "A charge summary resource.",
+ "type": "object",
+ "discriminator": "kind",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "kind": {
+ "type": "string",
+ "description": "Specifies the kind of charge summary.",
+ "enum": [
+ "legacy",
+ "modern"
+ ],
+ "x-ms-enum": {
+ "name": "ChargeSummaryKind",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "kind"
+ ]
+ },
+ "LegacyChargeSummary": {
+ "description": "Legacy charge summary.",
+ "type": "object",
+ "x-ms-discriminator-value": "legacy",
+ "properties": {
+ "properties": {
+ "description": "Properties for legacy charge summary",
+ "$ref": "#/definitions/LegacyChargeSummaryProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChargeSummary"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "LegacyChargeSummaryProperties": {
+ "description": "The properties of legacy charge summary.",
+ "type": "object",
+ "properties": {
+ "billingPeriodId": {
+ "description": "The id of the billing period resource that the charge belongs to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "usageStart": {
+ "description": "Usage start date.",
+ "type": "string",
+ "readOnly": true
+ },
+ "usageEnd": {
+ "description": "Usage end date.",
+ "type": "string",
+ "readOnly": true
+ },
+ "azureCharges": {
+ "description": "Azure Charges.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "chargesBilledSeparately": {
+ "description": "Charges Billed separately.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "marketplaceCharges": {
+ "description": "Marketplace Charges.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "currency": {
+ "description": "Currency Code",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ModernChargeSummary": {
+ "description": "Modern charge summary.",
+ "type": "object",
+ "x-ms-discriminator-value": "modern",
+ "properties": {
+ "properties": {
+ "description": "Properties for modern charge summary",
+ "$ref": "#/definitions/ModernChargeSummaryProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ChargeSummary"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "ModernChargeSummaryProperties": {
+ "description": "The properties of modern charge summary.",
+ "type": "object",
+ "properties": {
+ "billingPeriodId": {
+ "description": "The id of the billing period resource that the charge belongs to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "usageStart": {
+ "description": "Usage start date.",
+ "type": "string",
+ "readOnly": true
+ },
+ "usageEnd": {
+ "description": "Usage end date.",
+ "type": "string",
+ "readOnly": true
+ },
+ "azureCharges": {
+ "description": "Azure Charges.",
+ "readOnly": true,
+ "$ref": "#/definitions/amount"
+ },
+ "chargesBilledSeparately": {
+ "description": "Charges Billed separately.",
+ "readOnly": true,
+ "$ref": "#/definitions/amount"
+ },
+ "marketplaceCharges": {
+ "description": "Marketplace Charges.",
+ "readOnly": true,
+ "$ref": "#/definitions/amount"
+ },
+ "billingAccountId": {
+ "description": "Billing Account Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingProfileId": {
+ "description": "Billing Profile Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "invoiceSectionId": {
+ "description": "Invoice Section Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "customerId": {
+ "description": "Customer Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "isInvoiced": {
+ "description": "Is charge Invoiced",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "MeterDetailsResponse": {
+ "description": "The properties of the meter detail.",
+ "properties": {
+ "meterName": {
+ "description": "The name of the meter, within the given meter category",
+ "type": "string",
+ "readOnly": true
+ },
+ "meterCategory": {
+ "description": "The category of the meter, for example, 'Cloud services', 'Networking', etc..",
+ "type": "string",
+ "readOnly": true
+ },
+ "meterSubCategory": {
+ "description": "The subcategory of the meter, for example, 'A6 Cloud services', 'ExpressRoute (IXP)', etc..",
+ "type": "string",
+ "readOnly": true
+ },
+ "unitOfMeasure": {
+ "description": "The unit in which the meter consumption is charged, for example, 'Hours', 'GB', etc.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceFamily": {
+ "description": "The service family.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "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
+ }
+ }
+ },
+ "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",
+ "properties": {
+ "error": {
+ "description": "The details of the error.",
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "Operation": {
+ "description": "A Consumption REST API operation.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Operation Id."
+ },
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string",
+ "readOnly": true
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "properties": {
+ "provider": {
+ "description": "Service provider: Microsoft.Consumption.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed: UsageDetail, etc.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "Operation type: Read, write, delete, etc.",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "Description of the operation.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of listing consumption operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "description": "List of consumption operations supported by the Microsoft.Consumption resource provider.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next set of operation list results if there are any.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Events": {
+ "description": "Result of listing event summary.",
+ "properties": {
+ "value": {
+ "description": "The list of event summary.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/EventSummary"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EventSummary": {
+ "description": "An event summary resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EventProperties",
+ "title": "Event summary properties"
+ }
+ }
+ },
+ "EventProperties": {
+ "description": "The event properties.",
+ "properties": {
+ "transactionDate": {
+ "description": "The date of the event.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "description": {
+ "description": "The description of the event.",
+ "type": "string",
+ "readOnly": true
+ },
+ "newCredit": {
+ "description": "The amount of new credit or commitment for NewCredit or SettleCharges event.",
+ "readOnly": true,
+ "$ref": "#/definitions/amount"
+ },
+ "adjustments": {
+ "description": "The amount of balance adjustment. The property is not available for ConsumptionCommitment lots.",
+ "readOnly": true,
+ "$ref": "#/definitions/amount"
+ },
+ "creditExpired": {
+ "description": "The amount of expired credit or commitment for NewCredit or SettleCharges event.",
+ "readOnly": true,
+ "$ref": "#/definitions/amount"
+ },
+ "charges": {
+ "description": "The amount of charges for events of type SettleCharges and PendingEligibleCharges. ",
+ "readOnly": true,
+ "$ref": "#/definitions/amount"
+ },
+ "closedBalance": {
+ "description": "The balance after the event. ",
+ "readOnly": true,
+ "$ref": "#/definitions/amount"
+ },
+ "eventType": {
+ "description": "Identifies the type of the event.",
+ "type": "string",
+ "enum": [
+ "SettledCharges",
+ "PendingCharges",
+ "PendingAdjustments",
+ "PendingNewCredit",
+ "PendingExpiredCredit",
+ "UnKnown",
+ "NewCredit"
+ ],
+ "x-ms-enum": {
+ "name": "EventType",
+ "modelAsString": true
+ }
+ },
+ "invoiceNumber": {
+ "description": "The number which uniquely identifies the invoice on which the event was billed. This will be empty for unbilled events.",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingProfileId": {
+ "description": "The ID that uniquely identifies the billing profile for which the event happened. The property is only available for billing account of type MicrosoftCustomerAgreement. ",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingProfileDisplayName": {
+ "description": "The display name of the billing profile for which the event happened. The property is only available for billing account of type MicrosoftCustomerAgreement.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lotId": {
+ "description": "The ID that uniquely identifies the lot for which the event happened.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lotSource": {
+ "description": "Identifies the source of the lot for which the event happened. ",
+ "type": "string",
+ "readOnly": true
+ },
+ "canceledCredit": {
+ "description": "Amount of canceled credit.",
+ "readOnly": true,
+ "$ref": "#/definitions/amount"
+ },
+ "creditCurrency": {
+ "description": "The credit currency of the event.",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingCurrency": {
+ "description": "The billing currency of the event.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reseller": {
+ "description": "The reseller of the event.",
+ "readOnly": true,
+ "$ref": "#/definitions/Reseller"
+ },
+ "creditExpiredInBillingCurrency": {
+ "description": "The amount of expired credit or commitment for NewCredit or SettleCharges event in billing currency.",
+ "readOnly": true,
+ "$ref": "#/definitions/AmountWithExchangeRate"
+ },
+ "newCreditInBillingCurrency": {
+ "description": "The amount of new credit or commitment for NewCredit or SettleCharges event in billing currency.",
+ "readOnly": true,
+ "$ref": "#/definitions/AmountWithExchangeRate"
+ },
+ "adjustmentsInBillingCurrency": {
+ "description": "The amount of balance adjustment in billing currency.",
+ "readOnly": true,
+ "$ref": "#/definitions/AmountWithExchangeRate"
+ },
+ "chargesInBillingCurrency": {
+ "description": "The amount of charges for events of type SettleCharges and PendingEligibleCharges in billing currency.",
+ "readOnly": true,
+ "$ref": "#/definitions/AmountWithExchangeRate"
+ },
+ "closedBalanceInBillingCurrency": {
+ "description": "The balance in billing currency after the event.",
+ "readOnly": true,
+ "$ref": "#/definitions/AmountWithExchangeRate"
+ }
+ }
+ },
+ "Lots": {
+ "description": "Result of listing lot summary.",
+ "properties": {
+ "value": {
+ "description": "The list of lot summary.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/LotSummary"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "LotSummary": {
+ "description": "A lot summary resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/LotProperties",
+ "title": "Lot summary properties"
+ }
+ }
+ },
+ "LotProperties": {
+ "description": "The lot properties.",
+ "properties": {
+ "originalAmount": {
+ "description": "The original amount of a lot.",
+ "readOnly": true,
+ "$ref": "#/definitions/amount"
+ },
+ "closedBalance": {
+ "description": "The balance as of the last invoice.",
+ "readOnly": true,
+ "$ref": "#/definitions/amount"
+ },
+ "source": {
+ "description": "The source of the lot.",
+ "type": "string",
+ "enum": [
+ "PurchasedCredit",
+ "PromotionalCredit",
+ "ConsumptionCommitment"
+ ],
+ "x-ms-enum": {
+ "name": "LotSource",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "startDate": {
+ "description": "The date when the lot became effective.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "expirationDate": {
+ "description": "The expiration date of a lot.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "poNumber": {
+ "description": "The po number of the invoice on which the lot was added. This property is not available for ConsumptionCommitment lots.",
+ "type": "string",
+ "readOnly": true
+ },
+ "purchaseDate": {
+ "description": "The date when the lot was added.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The status of the lot.",
+ "type": "string",
+ "enum": [
+ "None",
+ "Active",
+ "Inactive",
+ "Expired",
+ "Complete",
+ "Canceled"
+ ],
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "Status",
+ "modelAsString": true
+ }
+ },
+ "creditCurrency": {
+ "description": "The currency of the lot.",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingCurrency": {
+ "description": "The billing currency of the lot.",
+ "type": "string",
+ "readOnly": true
+ },
+ "originalAmountInBillingCurrency": {
+ "description": "The original amount of a lot in billing currency.",
+ "readOnly": true,
+ "$ref": "#/definitions/AmountWithExchangeRate"
+ },
+ "closedBalanceInBillingCurrency": {
+ "description": "The balance as of the last invoice in billing currency.",
+ "readOnly": true,
+ "$ref": "#/definitions/AmountWithExchangeRate"
+ },
+ "reseller": {
+ "description": "The reseller of the lot.",
+ "readOnly": true,
+ "$ref": "#/definitions/Reseller"
+ }
+ }
+ },
+ "CreditSummary": {
+ "description": "A credit summary resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CreditSummaryProperties",
+ "title": "Credit summary properties"
+ }
+ }
+ },
+ "CreditSummaryProperties": {
+ "description": "The properties of the credit summary.",
+ "type": "object",
+ "properties": {
+ "balanceSummary": {
+ "description": "Summary of balances associated with this credit summary.",
+ "readOnly": true,
+ "$ref": "#/definitions/CreditBalanceSummary"
+ },
+ "pendingCreditAdjustments": {
+ "description": "Pending credit adjustments.",
+ "readOnly": true,
+ "$ref": "#/definitions/amount"
+ },
+ "expiredCredit": {
+ "description": "Expired credit.",
+ "readOnly": true,
+ "$ref": "#/definitions/amount"
+ },
+ "pendingEligibleCharges": {
+ "description": "Pending eligible charges.",
+ "readOnly": true,
+ "$ref": "#/definitions/amount"
+ },
+ "creditCurrency": {
+ "description": "The credit currency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingCurrency": {
+ "description": "The billing currency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reseller": {
+ "description": "Credit's reseller.",
+ "readOnly": true,
+ "$ref": "#/definitions/Reseller"
+ }
+ }
+ },
+ "CreditBalanceSummary": {
+ "description": "Summary of credit balances.",
+ "properties": {
+ "estimatedBalance": {
+ "description": "Estimated balance.",
+ "readOnly": true,
+ "$ref": "#/definitions/amount"
+ },
+ "currentBalance": {
+ "description": "Current balance.",
+ "readOnly": true,
+ "$ref": "#/definitions/amount"
+ },
+ "estimatedBalanceInBillingCurrency": {
+ "description": "Estimated balance in billing currency.",
+ "readOnly": true,
+ "$ref": "#/definitions/AmountWithExchangeRate"
+ }
+ }
+ },
+ "amount": {
+ "description": "The amount plus currency .",
+ "properties": {
+ "currency": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Amount currency."
+ },
+ "value": {
+ "readOnly": true,
+ "type": "number",
+ "format": "decimal",
+ "description": "Amount."
+ }
+ }
+ },
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The full qualified ARM ID of an event."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID that uniquely identifies an event. "
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The etag for the resource."
+ },
+ "tags": {
+ "readOnly": true,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ReservationTransactionResource": {
+ "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": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ResourceAttributes": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "location": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource location"
+ },
+ "sku": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource sku"
+ }
+ }
+ },
+ "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
+ },
+ "AmountWithExchangeRate": {
+ "description": "The amount with exchange rate.",
+ "properties": {
+ "exchangeRate": {
+ "description": "The exchange rate.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "exchangeRateMonth": {
+ "description": "The exchange rate month.",
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true
+ }
+ }
+ },
+ "Reseller": {
+ "description": "The reseller properties.",
+ "type": "object",
+ "properties": {
+ "resellerId": {
+ "description": "The reseller property ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resellerDescription": {
+ "description": "The reseller property description.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "scopeChargesParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with charges operations. This includes '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope. For department and enrollment accounts, you can also add billing period to the scope using '/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. For e.g. to specify billing period at department scope use '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. Also, Modern Commerce Account scopes are '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for billingAccount 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
+ },
+ "scopeUsageDetailsParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with usage details operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, '/providers/Microsoft.Billing/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope and '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope. For subscription, billing account, department, enrollment account and management group, you can also add billing period to the scope using '/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. For e.g. to specify billing period at department scope use '/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. Also, Modern Commerce Account scopes are '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for billingAccount 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
+ },
+ "scopeMarketplaceParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with marketplace operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, '/providers/Microsoft.Billing/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope and '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope. For subscription, billing account, department, enrollment account and ManagementGroup, you can also add billing period to the scope using '/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. For e.g. to specify billing period at department scope use '/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "scopeBudgetParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with budget operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "scopeTagsParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with tags operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope and '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope..",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "scopeReservationsSummariesParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with reservations summaries operations. This includes '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope (legacy), and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for BillingProfile scope (modern). ",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "scopeReservationDetailsParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with reservations details operations. This includes '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope (legacy), and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for BillingProfile scope (modern). ",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "scopeReservationRecommendationsParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with reservation recommendations operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resource group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "scopeReservationRecommendationDetailsParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with reservation recommendation details operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resource group scope, /providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "scopeReservationTransactionsParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with reservation transactions operations. This includes '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount/Enrollment scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request. The current version is 2021-05-01."
+ },
+ "billingAccountIdParameter": {
+ "name": "billingAccountId",
+ "in": "path",
+ "description": "BillingAccount ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "departmentIdParameter": {
+ "name": "departmentId",
+ "in": "path",
+ "description": "Department ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "enrollmentAccountIdParameter": {
+ "name": "enrollmentAccountId",
+ "in": "path",
+ "description": "EnrollmentAccount ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Azure Subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "Azure Resource Group Name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "budgetNameParameter": {
+ "name": "budgetName",
+ "in": "path",
+ "description": "Budget Name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "billingPeriodNameParameter": {
+ "name": "billingPeriodName",
+ "in": "path",
+ "description": "Billing Period Name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "reservationOrderIdParameter": {
+ "name": "reservationOrderId",
+ "in": "path",
+ "description": "Order Id of the reservation",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "reservationIdParameter": {
+ "name": "reservationId",
+ "in": "path",
+ "description": "Id of the reservation",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "grainParameter": {
+ "name": "grain",
+ "description": "Can be daily or monthly",
+ "x-ms-parameter-location": "method",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "daily",
+ "monthly"
+ ],
+ "x-ms-enum": {
+ "name": "datagrain",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "daily",
+ "description": "Daily grain of data",
+ "name": "DailyGrain"
+ },
+ {
+ "value": "monthly",
+ "description": "Monthly grain of data",
+ "name": "MonthlyGrain"
+ }
+ ]
+ }
+ },
+ "managementGroupIdParameter": {
+ "name": "managementGroupId",
+ "in": "path",
+ "description": "Azure Management Group ID.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "billingProfileIdParameter": {
+ "name": "billingProfileId",
+ "in": "path",
+ "description": "Azure Billing Profile ID.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "invoiceSectionIdParameter": {
+ "name": "invoiceSectionId",
+ "in": "path",
+ "description": "Azure Invoice Section ID.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "startDateParameter": {
+ "name": "startDate",
+ "in": "query",
+ "description": "Start date",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "endDateParameter": {
+ "name": "endDate",
+ "in": "query",
+ "description": "End date",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "metricParameter": {
+ "name": "metric",
+ "in": "query",
+ "description": "Allows to select different type of cost/usage records.",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "actualcost",
+ "amortizedcost",
+ "usage"
+ ],
+ "x-ms-enum": {
+ "name": "metrictype",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "actualcost",
+ "description": "Actual cost data.",
+ "name": "ActualCostMetricType"
+ },
+ {
+ "value": "amortizedcost",
+ "description": "Amortized cost data.",
+ "name": "AmortizedCostMetricType"
+ },
+ {
+ "value": "usage",
+ "description": "Usage data.",
+ "name": "UsageMetricType"
+ }
+ ]
+ }
+ },
+ "filterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "description": "May be used to filter reservationRecommendations by: properties/scope with allowed values ['Single', 'Shared'] and default value 'Single'; properties/resourceType with allowed values ['VirtualMachines', 'SQLDatabases', 'PostgreSQL', 'ManagedDisk', 'MySQL', 'RedHat', 'MariaDB', 'RedisCache', 'CosmosDB', 'SqlDataWarehouse', 'SUSELinux', 'AppService', 'BlockBlob', 'AzureDataExplorer', 'VMwareCloudSimple'] and default value 'VirtualMachines'; and properties/lookBackPeriod with allowed values ['Last7Days', 'Last30Days', 'Last60Days'] and default value 'Last7Days'.",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "termParameter": {
+ "description": "Specify length of reservation recommendation term.",
+ "type": "string",
+ "in": "query",
+ "required": true,
+ "name": "term",
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "P1Y",
+ "P3Y"
+ ],
+ "x-ms-enum": {
+ "name": "term",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "P1Y",
+ "description": "1 year reservation term",
+ "name": "P1Y"
+ },
+ {
+ "value": "P3Y",
+ "description": "3 year reservation term",
+ "name": "P3Y"
+ }
+ ]
+ }
+ },
+ "regionParameter": {
+ "name": "region",
+ "in": "query",
+ "description": "Used to select the region the recommendation should be generated for.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "lookBackPeriodParameter": {
+ "name": "lookBackPeriod",
+ "in": "query",
+ "description": "Filter the time period on which reservation recommendation results are based.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "Last7Days",
+ "Last30Days",
+ "Last60Days"
+ ],
+ "x-ms-enum": {
+ "name": "lookBackPeriod",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Last7Days",
+ "description": "Use 7 days of data for recommendations",
+ "name": "Last07Days"
+ },
+ {
+ "value": "Last30Days",
+ "description": "Use 30 days of data for recommendations",
+ "name": "Last30Days"
+ },
+ {
+ "value": "Last60Days",
+ "description": "Use 60 days of data for recommendations",
+ "name": "Last60Days"
+ }
+ ]
+ }
+ },
+ "productParameter": {
+ "name": "product",
+ "in": "query",
+ "description": "Filter the products for which reservation recommendation results are generated. Examples: Standard_DS1_v2 (for VM), Premium_SSD_Managed_Disks_P30 (for Managed Disks)",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "scopeParameter": {
+ "description": "Scope of the reservation.",
+ "type": "string",
+ "name": "scope",
+ "in": "query",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "Single",
+ "Shared"
+ ],
+ "x-ms-enum": {
+ "name": "scope",
+ "modelAsString": true
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/AggregatedCostByManagementGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/AggregatedCostByManagementGroup.json
new file mode 100644
index 000000000000..be57cb991c08
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/AggregatedCostByManagementGroup.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "managementGroupId": "managementGroupForTest"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/managementGroupForTest/providers/Microsoft.Consumption/aggregatedcostId1",
+ "name": "aggregatedcostId1",
+ "type": "Microsoft.Consumption/aggregatedcost",
+ "properties": {
+ "includedSubscriptions": [
+ "1caaa5a3-2b66-438e-8ab4-bce37d518c5d"
+ ],
+ "excludedSubscriptions": [],
+ "usageStart": "2021-05-01T00:00:00.0000000Z",
+ "usageEnd": "2018-10-31T00:00:00.0000000Z",
+ "azureCharges": 250.9876,
+ "marketplaceCharges": 150.786,
+ "chargesBilledSeparately": 120.345,
+ "currency": "USD",
+ "children": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/managementGroupChildForTest/providers/Microsoft.Consumption/aggregatedcostId2",
+ "name": "aggregatedcostId2",
+ "type": "Microsoft.Consumption/aggregatedcost",
+ "properties": {
+ "includedSubscriptions": [
+ "c349567d-c83a-48c9-ab0e-578c69dc97a4"
+ ],
+ "excludedSubscriptions": [],
+ "usageStart": "2021-05-01T00:00:00.0000000Z",
+ "usageEnd": "2018-10-31T00:00:00.0000000Z",
+ "azureCharges": 150.0,
+ "marketplaceCharges": 50.786,
+ "chargesBilledSeparately": 30.345,
+ "currency": "USD",
+ "children": []
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/AggregatedCostByManagementGroupFilterByDate.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/AggregatedCostByManagementGroupFilterByDate.json
new file mode 100644
index 000000000000..b647ff0a0e11
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/AggregatedCostByManagementGroupFilterByDate.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "managementGroupId": "managementGroupForTest",
+ "$filter": "usageStart ge '2018-08-15' and properties/usageStart le '2018-08-31'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/managementGroupForTest/providers/Microsoft.Consumption/aggregatedcostId1",
+ "name": "aggregatedcostId1",
+ "type": "Microsoft.Consumption/aggregatedcost",
+ "properties": {
+ "includedSubscriptions": [
+ "1caaa5a3-2b66-438e-8ab4-bce37d518c5d"
+ ],
+ "excludedSubscriptions": [],
+ "usageStart": "2018-08-15T00:00:00.0000000Z",
+ "usageEnd": "2018-08-31T00:00:00.0000000Z",
+ "azureCharges": 150.9876,
+ "marketplaceCharges": 80.786,
+ "chargesBilledSeparately": 90.345,
+ "currency": "USD",
+ "children": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/managementGroupChildForTest/providers/Microsoft.Consumption/aggregatedcostId2",
+ "name": "aggregatedcostId2",
+ "type": "Microsoft.Consumption/aggregatedcost",
+ "properties": {
+ "includedSubscriptions": [
+ "c349567d-c83a-48c9-ab0e-578c69dc97a4"
+ ],
+ "excludedSubscriptions": [],
+ "usageStart": "2018-08-15T00:00:00.0000000Z",
+ "usageEnd": "2018-08-31T00:00:00.0000000Z",
+ "azureCharges": 50.0,
+ "marketplaceCharges": 10.786,
+ "chargesBilledSeparately": 30.345,
+ "currency": "USD",
+ "children": []
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/AggregatedCostForBillingPeriodByManagementGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/AggregatedCostForBillingPeriodByManagementGroup.json
new file mode 100644
index 000000000000..91b26fbf9039
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/AggregatedCostForBillingPeriodByManagementGroup.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "managementGroupId": "managementGroupForTest",
+ "billingPeriodName": "201807"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/managementGroupForTest/providers/Microsoft.Consumption/aggregatedcostId1",
+ "name": "aggregatedcostId1",
+ "type": "Microsoft.Consumption/aggregatedcost",
+ "properties": {
+ "usageStart": "2018-07-01T00:00:00.0000000Z",
+ "usageEnd": "2018-07-31T00:00:00.0000000Z",
+ "azureCharges": 250.9876,
+ "marketplaceCharges": 150.786,
+ "chargesBilledSeparately": 120.345,
+ "currency": "USD",
+ "children": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/managementGroupChildForTest/providers/Microsoft.Consumption/aggregatedcostId2",
+ "name": "aggregatedcostId2",
+ "type": "Microsoft.Consumption/aggregatedcost",
+ "properties": {
+ "usageStart": "2018-07-01T00:00:00.0000000Z",
+ "usageEnd": "2018-07-31T00:00:00.0000000Z",
+ "azureCharges": 150.0,
+ "marketplaceCharges": 50.786,
+ "chargesBilledSeparately": 30.345,
+ "currency": "USD",
+ "children": []
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/BalancesByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/BalancesByBillingAccount.json
new file mode 100644
index 000000000000..6e47b4c5058a
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/BalancesByBillingAccount.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "billingAccountId": "123456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/balances/balanceId1",
+ "name": "balanceId1",
+ "type": "Microsoft.Consumption/balances",
+ "properties": {
+ "currency": "USD ",
+ "beginningBalance": 3396469.19,
+ "endingBalance": 2922371.02,
+ "newPurchases": 0,
+ "adjustments": 0,
+ "utilized": 474098.17,
+ "serviceOverage": 0,
+ "chargesBilledSeparately": 0,
+ "totalOverage": 0,
+ "totalUsage": 474098.17,
+ "azureMarketplaceServiceCharges": 609.82,
+ "billingFrequency": "Month",
+ "priceHidden": false,
+ "newPurchasesDetails": [
+ {
+ "name": "Promo Purchase",
+ "value": 1
+ }
+ ],
+ "adjustmentDetails": [
+ {
+ "name": "Promo Credit",
+ "value": 1.1
+ },
+ {
+ "name": "SIE Credit",
+ "value": 1.0
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/BalancesByBillingAccountForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/BalancesByBillingAccountForBillingPeriod.json
new file mode 100644
index 000000000000..c970e6d92021
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/BalancesByBillingAccountForBillingPeriod.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "billingAccountId": "123456",
+ "billingPeriodName": "201702"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/balances/balanceId1",
+ "name": "balanceId1",
+ "type": "Microsoft.Consumption/balances",
+ "properties": {
+ "currency": "USD ",
+ "beginningBalance": 3396469.19,
+ "endingBalance": 2922371.02,
+ "newPurchases": 0,
+ "adjustments": 0,
+ "utilized": 474098.17,
+ "serviceOverage": 0,
+ "chargesBilledSeparately": 0,
+ "totalOverage": 0,
+ "totalUsage": 474098.17,
+ "azureMarketplaceServiceCharges": 609.82,
+ "billingFrequency": "Month",
+ "priceHidden": false,
+ "newPurchasesDetails": [
+ {
+ "name": "Promo Purchase",
+ "value": 1
+ }
+ ],
+ "adjustmentDetails": [
+ {
+ "name": "Promo Credit",
+ "value": 1.1
+ },
+ {
+ "name": "SIE Credit",
+ "value": 1.0
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/Budget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/Budget.json
new file mode 100644
index 000000000000..70870307b5f4
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/Budget.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "budgetName": "TestBudget",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/TestBudget",
+ "name": "TestBudget",
+ "type": "Microsoft.Consumption/budgets",
+ "eTag": "\"1d34d012214157f\"",
+ "properties": {
+ "category": "Cost",
+ "amount": 100.65,
+ "timeGrain": "Monthly",
+ "timePeriod": {
+ "startDate": "2017-10-01T00:00:00Z",
+ "endDate": "2018-10-31T00:00:00Z"
+ },
+ "filter": {
+ "and": [
+ {
+ "dimensions": {
+ "name": "ResourceId",
+ "operator": "In",
+ "values": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1"
+ ]
+ }
+ },
+ {
+ "tags": {
+ "name": "category",
+ "operator": "In",
+ "values": [
+ "Dev",
+ "Prod"
+ ]
+ }
+ },
+ {
+ "tags": {
+ "name": "department",
+ "operator": "In",
+ "values": [
+ "engineering",
+ "sales"
+ ]
+ }
+ }
+ ]
+ },
+ "currentSpend": {
+ "amount": 80.89,
+ "unit": "USD"
+ },
+ "notifications": {
+ "Actual_GreaterThan_80_Percent": {
+ "enabled": true,
+ "operator": "GreaterThan",
+ "threshold": 80,
+ "contactEmails": [
+ "johndoe@contoso.com",
+ "janesmith@contoso.com"
+ ],
+ "contactRoles": [
+ "Contributor",
+ "Reader"
+ ],
+ "contactGroups": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup"
+ ],
+ "thresholdType": "Actual"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/BudgetsList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/BudgetsList.json
new file mode 100644
index 000000000000..592bd3890550
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/BudgetsList.json
@@ -0,0 +1,186 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/TestBudget",
+ "name": "TestBudget",
+ "type": "Microsoft.Consumption/budgets",
+ "eTag": "\"1d34d012214157f\"",
+ "properties": {
+ "category": "Cost",
+ "amount": 100.65,
+ "timeGrain": "Monthly",
+ "timePeriod": {
+ "startDate": "2017-10-01T00:00:00Z",
+ "endDate": "2018-10-31T00:00:00Z"
+ },
+ "filter": {
+ "and": [
+ {
+ "dimensions": {
+ "name": "ResourceId",
+ "operator": "In",
+ "values": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1"
+ ]
+ }
+ },
+ {
+ "tags": {
+ "name": "category",
+ "operator": "In",
+ "values": [
+ "Dev",
+ "Prod"
+ ]
+ }
+ },
+ {
+ "tags": {
+ "name": "department",
+ "operator": "In",
+ "values": [
+ "engineering",
+ "sales"
+ ]
+ }
+ }
+ ]
+ },
+ "currentSpend": {
+ "amount": 80.89,
+ "unit": "USD"
+ },
+ "notifications": {
+ "Actual_GreaterThan_80_Percent": {
+ "enabled": true,
+ "operator": "GreaterThan",
+ "threshold": 80,
+ "contactEmails": [
+ "johndoe@contoso.com",
+ "janesmith@contoso.com"
+ ],
+ "contactRoles": [
+ "Contributor",
+ "Reader"
+ ]
+ },
+ "Actual_GreaterThanOrEqualTo_90_Percent": {
+ "enabled": true,
+ "operator": "GreaterThanOrEqualTo",
+ "threshold": 90,
+ "contactEmails": [
+ "johndoe@contoso.com",
+ "janesmith@contoso.com"
+ ],
+ "contactRoles": [
+ "Contributor",
+ "Reader"
+ ],
+ "contactGroups": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup"
+ ]
+ },
+ "thresholdType": "Actual"
+ }
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/budgets/TestBudget",
+ "name": "TestBudget",
+ "type": "Microsoft.Consumption/budgets",
+ "eTag": "\"1d34d012214157f\"",
+ "properties": {
+ "category": "Cost",
+ "amount": 600.65,
+ "timeGrain": "Monthly",
+ "timePeriod": {
+ "startDate": "2017-10-01T00:00:00Z",
+ "endDate": "2018-10-31T00:00:00Z"
+ },
+ "filter": {
+ "and": [
+ {
+ "dimensions": {
+ "name": "ResourceId",
+ "operator": "In",
+ "values": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1"
+ ]
+ }
+ },
+ {
+ "tags": {
+ "name": "category",
+ "operator": "In",
+ "values": [
+ "Dev",
+ "Prod"
+ ]
+ }
+ },
+ {
+ "tags": {
+ "name": "department",
+ "operator": "In",
+ "values": [
+ "engineering",
+ "sales"
+ ]
+ }
+ }
+ ]
+ },
+ "currentSpend": {
+ "amount": 120.89,
+ "unit": "USD"
+ },
+ "notifications": {
+ "Actual_GreaterThan_40_Percent": {
+ "enabled": true,
+ "operator": "GreaterThan",
+ "threshold": 40,
+ "contactEmails": [
+ "johndoe@contoso.com",
+ "janesmith@contoso.com"
+ ],
+ "contactRoles": [
+ "Contributor",
+ "Reader"
+ ]
+ },
+ "Actual_GreaterThanOrEqualTo_60_Percent": {
+ "enabled": true,
+ "operator": "GreaterThanOrEqualTo",
+ "threshold": 60,
+ "contactEmails": [
+ "johndoe@contoso.com",
+ "janesmith@contoso.com"
+ ],
+ "contactRoles": [
+ "Contributor",
+ "Reader"
+ ],
+ "contactGroups": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup"
+ ],
+ "thresholdType": "Actual"
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesForBillingPeriodByDepartment.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesForBillingPeriodByDepartment.json
new file mode 100644
index 000000000000..873a4eb05928
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesForBillingPeriodByDepartment.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "billingPeriodName": "201804",
+ "scope": "providers/Microsoft.Billing/BillingAccounts/1234/departments/42425"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234/departments/42425/providers/Microsoft.Consumption/charges/chargeSummaryId1",
+ "name": "chargeSummaryId1",
+ "type": "Microsoft.Consumption/charges",
+ "kind": "legacy",
+ "properties": {
+ "billingPeriodId": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201804",
+ "usageStart": "2018-04-01",
+ "usageEnd": "2018-04-30",
+ "azureCharges": 5000.00,
+ "chargesBilledSeparately": 60.90,
+ "marketplaceCharges": 100.00,
+ "currency": "USD"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesForBillingPeriodByEnrollmentAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesForBillingPeriodByEnrollmentAccount.json
new file mode 100644
index 000000000000..9615b4074248
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesForBillingPeriodByEnrollmentAccount.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "billingPeriodName": "201804",
+ "scope": "providers/Microsoft.Billing/BillingAccounts/1234/enrollmentAccounts/42425"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234/enrollmentAccounts/42425/providers/Microsoft.Consumption/charges/chargeSummaryId1",
+ "name": "chargeSummaryId1",
+ "type": "Microsoft.Consumption/charges",
+ "kind": "legacy",
+ "properties": {
+ "billingPeriodId": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201804",
+ "usageStart": "2018-04-01",
+ "usageEnd": "2018-04-30",
+ "azureCharges": 5000.00,
+ "chargesBilledSeparately": 60.90,
+ "marketplaceCharges": 100.00,
+ "currency": "USD"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernBillingAccount.json
new file mode 100644
index 000000000000..d4942a957690
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernBillingAccount.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "startDate": "2019-09-01",
+ "endDate": "2019-10-31",
+ "scope": "providers/Microsoft.Billing/billingAccounts/1234:56789"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Consumption/charges/chargeSummaryId1",
+ "name": "chargeSummaryId1",
+ "type": "Microsoft.Consumption/charges",
+ "kind": "modern",
+ "properties": {
+ "isInvoiced": false,
+ "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201910",
+ "usageStart": "2021-05-01",
+ "usageEnd": "2019-10-31",
+ "azureCharges": {
+ "currency": "USD",
+ "value": 0.0
+ },
+ "chargesBilledSeparately": {
+ "currency": "USD",
+ "value": 265.09
+ },
+ "marketplaceCharges": {
+ "currency": "USD",
+ "value": 0.0
+ },
+ "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789",
+ "billingProfileId": null,
+ "invoiceSectionId": null
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernBillingAccountGroupByBillingProfileId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernBillingAccountGroupByBillingProfileId.json
new file mode 100644
index 000000000000..e0743125364f
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernBillingAccountGroupByBillingProfileId.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/1234:56789",
+ "startDate": "2019-09-01",
+ "endDate": "2019-09-30",
+ "$apply": "groupby((properties/billingProfileId))"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Consumption/charges/chargeSummaryId1",
+ "name": "chargeSummaryId1",
+ "type": "Microsoft.Consumption/charges",
+ "kind": "modern",
+ "properties": {
+ "isInvoiced": false,
+ "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/123456/providers/Microsoft.Billing/billingPeriods/201909",
+ "usageStart": "2019-09-01",
+ "usageEnd": "2019-09-30",
+ "azureCharges": {
+ "currency": "USD",
+ "value": 5000.00
+ },
+ "chargesBilledSeparately": {
+ "currency": "USD",
+ "value": 60.90
+ },
+ "marketplaceCharges": {
+ "currency": "USD",
+ "value": 100.00
+ },
+ "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789",
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/123456"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234:56789/billingProfiles/42425/providers/Microsoft.Consumption/charges/chargeSummaryId2",
+ "name": "chargeSummaryId2",
+ "type": "Microsoft.Consumption/charges",
+ "kind": "modern",
+ "properties": {
+ "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201909",
+ "usageStart": "2019-09-01",
+ "usageEnd": "2019-09-30",
+ "azureCharges": {
+ "currency": "USD",
+ "value": 5000.00
+ },
+ "chargesBilledSeparately": {
+ "currency": "USD",
+ "value": 60.90
+ },
+ "marketplaceCharges": {
+ "currency": "USD",
+ "value": 100.00
+ },
+ "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789",
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernBillingAccountGroupByCustomerId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernBillingAccountGroupByCustomerId.json
new file mode 100644
index 000000000000..b89c9e52f9c9
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernBillingAccountGroupByCustomerId.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/1234:56789",
+ "startDate": "2019-09-01",
+ "endDate": "2019-09-30",
+ "$apply": "groupby((properties/customerId))"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/customers/67890/providers/Microsoft.Consumption/charges/chargeSummaryId1",
+ "name": "chargeSummaryId1",
+ "type": "Microsoft.Consumption/charges",
+ "kind": "modern",
+ "properties": {
+ "customerId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/customers/67890",
+ "isInvoiced": false,
+ "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201909",
+ "usageStart": "2019-09-01",
+ "usageEnd": "2019-09-30",
+ "azureCharges": {
+ "currency": "USD",
+ "value": 5000.00
+ },
+ "chargesBilledSeparately": {
+ "currency": "USD",
+ "value": 60.90
+ },
+ "marketplaceCharges": {
+ "currency": "USD",
+ "value": 100.00
+ },
+ "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789",
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425",
+ "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/invoiceSections/67890"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234:56789/customers/123456/providers/Microsoft.Consumption/charges/chargeSummaryId2",
+ "name": "chargeSummaryId2",
+ "type": "Microsoft.Consumption/charges",
+ "kind": "modern",
+ "properties": {
+ "customerId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/customers/123456",
+ "isInvoiced": false,
+ "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201909",
+ "usageStart": "2019-09-01",
+ "usageEnd": "2019-09-30",
+ "azureCharges": {
+ "currency": "USD",
+ "value": 5000.00
+ },
+ "chargesBilledSeparately": {
+ "currency": "USD",
+ "value": 60.90
+ },
+ "marketplaceCharges": {
+ "currency": "USD",
+ "value": 100.00
+ },
+ "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789",
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425",
+ "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/invoiceSections/67890"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernBillingAccountGroupByInvoiceSectionId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernBillingAccountGroupByInvoiceSectionId.json
new file mode 100644
index 000000000000..6d9144c6535f
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernBillingAccountGroupByInvoiceSectionId.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425",
+ "startDate": "2019-09-01",
+ "endDate": "2019-09-30",
+ "$apply": "groupby((properties/invoiceSectionId))"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425/invoiceSections/4567/providers/Microsoft.Consumption/charges/chargeSummaryId1",
+ "name": "chargeSummaryId1",
+ "type": "Microsoft.Consumption/charges",
+ "kind": "modern",
+ "properties": {
+ "isInvoiced": false,
+ "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201909",
+ "usageStart": "2019-09-01",
+ "usageEnd": "2019-09-30",
+ "azureCharges": {
+ "currency": "USD",
+ "value": 5000.00
+ },
+ "chargesBilledSeparately": {
+ "currency": "USD",
+ "value": 60.90
+ },
+ "marketplaceCharges": {
+ "currency": "USD",
+ "value": 100.00
+ },
+ "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789",
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425",
+ "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/invoiceSections/4567"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234:56789//billingProfiles/42425/invoiceSections/67890/providers/Microsoft.Consumption/charges/chargeSummaryId2",
+ "name": "chargeSummaryId2",
+ "type": "Microsoft.Consumption/charges",
+ "kind": "modern",
+ "properties": {
+ "isInvoiced": false,
+ "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201909",
+ "usageStart": "2019-09-01",
+ "usageEnd": "2019-09-30",
+ "azureCharges": {
+ "currency": "USD",
+ "value": 5000.00
+ },
+ "chargesBilledSeparately": {
+ "currency": "USD",
+ "value": 60.90
+ },
+ "marketplaceCharges": {
+ "currency": "USD",
+ "value": 100.00
+ },
+ "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789",
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425",
+ "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/invoiceSections/67890"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernBillingProfile.json
new file mode 100644
index 000000000000..bdc42cbd9e11
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernBillingProfile.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/BillingAccounts/1234:56789/billingProfiles/2460"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/2460/providers/Microsoft.Consumption/charges/chargeSummaryId1",
+ "name": "chargeSummaryId1",
+ "type": "Microsoft.Consumption/charges",
+ "kind": "modern",
+ "properties": {
+ "isInvoiced": false,
+ "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201910",
+ "usageStart": "2021-05-01",
+ "usageEnd": "2019-10-31",
+ "azureCharges": {
+ "currency": "USD",
+ "value": 0.0
+ },
+ "chargesBilledSeparately": {
+ "currency": "USD",
+ "value": 265.09
+ },
+ "marketplaceCharges": {
+ "currency": "USD",
+ "value": 0.0
+ },
+ "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789",
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/2460",
+ "invoiceSectionId": null
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernBillingProfileGroupByInvoiceSectionId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernBillingProfileGroupByInvoiceSectionId.json
new file mode 100644
index 000000000000..6d9144c6535f
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernBillingProfileGroupByInvoiceSectionId.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425",
+ "startDate": "2019-09-01",
+ "endDate": "2019-09-30",
+ "$apply": "groupby((properties/invoiceSectionId))"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425/invoiceSections/4567/providers/Microsoft.Consumption/charges/chargeSummaryId1",
+ "name": "chargeSummaryId1",
+ "type": "Microsoft.Consumption/charges",
+ "kind": "modern",
+ "properties": {
+ "isInvoiced": false,
+ "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201909",
+ "usageStart": "2019-09-01",
+ "usageEnd": "2019-09-30",
+ "azureCharges": {
+ "currency": "USD",
+ "value": 5000.00
+ },
+ "chargesBilledSeparately": {
+ "currency": "USD",
+ "value": 60.90
+ },
+ "marketplaceCharges": {
+ "currency": "USD",
+ "value": 100.00
+ },
+ "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789",
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425",
+ "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/invoiceSections/4567"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234:56789//billingProfiles/42425/invoiceSections/67890/providers/Microsoft.Consumption/charges/chargeSummaryId2",
+ "name": "chargeSummaryId2",
+ "type": "Microsoft.Consumption/charges",
+ "kind": "modern",
+ "properties": {
+ "isInvoiced": false,
+ "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201909",
+ "usageStart": "2019-09-01",
+ "usageEnd": "2019-09-30",
+ "azureCharges": {
+ "currency": "USD",
+ "value": 5000.00
+ },
+ "chargesBilledSeparately": {
+ "currency": "USD",
+ "value": 60.90
+ },
+ "marketplaceCharges": {
+ "currency": "USD",
+ "value": 100.00
+ },
+ "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789",
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425",
+ "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/invoiceSections/67890"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernBillingProfileInvoiceSection.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernBillingProfileInvoiceSection.json
new file mode 100644
index 000000000000..0cc080d5a52c
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernBillingProfileInvoiceSection.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "startDate": "2019-09-01",
+ "endDate": "2019-10-31",
+ "scope": "providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425/invoiceSections/67890"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425/invoiceSections/67890/providers/Microsoft.Consumption/charges/chargeSummaryId1",
+ "name": "chargeSummaryId1",
+ "type": "Microsoft.Consumption/charges",
+ "kind": "modern",
+ "properties": {
+ "isInvoiced": false,
+ "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201909",
+ "usageStart": "2019-09-01",
+ "usageEnd": "2019-09-30",
+ "azureCharges": {
+ "currency": "USD",
+ "value": 5000.00
+ },
+ "chargesBilledSeparately": {
+ "currency": "USD",
+ "value": 60.90
+ },
+ "marketplaceCharges": {
+ "currency": "USD",
+ "value": 100.00
+ },
+ "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789",
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425",
+ "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425/invoiceSections/4567"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425/invoiceSections/67890/providers/Microsoft.Consumption/charges/chargeSummaryId2",
+ "name": "chargeSummaryId2",
+ "type": "Microsoft.Consumption/charges",
+ "kind": "modern",
+ "properties": {
+ "isInvoiced": false,
+ "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201910",
+ "usageStart": "2021-05-01",
+ "usageEnd": "2019-10-31",
+ "azureCharges": {
+ "currency": "USD",
+ "value": 5000.00
+ },
+ "chargesBilledSeparately": {
+ "currency": "USD",
+ "value": 60.90
+ },
+ "marketplaceCharges": {
+ "currency": "USD",
+ "value": 100.00
+ },
+ "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789",
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425",
+ "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/42425/invoiceSections/4567"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernCustomer.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernCustomer.json
new file mode 100644
index 000000000000..1679b8171de5
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernCustomer.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/BillingAccounts/1234:56789/customers/67890"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/customers/67890/providers/Microsoft.Consumption/charges/chargeSummaryId1",
+ "name": "chargeSummaryId1",
+ "type": "Microsoft.Consumption/charges",
+ "kind": "modern",
+ "properties": {
+ "isInvoiced": false,
+ "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201910",
+ "usageStart": "2021-05-01",
+ "usageEnd": "2019-10-31",
+ "azureCharges": {
+ "currency": "USD",
+ "value": 0.0
+ },
+ "chargesBilledSeparately": {
+ "currency": "USD",
+ "value": 265.09
+ },
+ "marketplaceCharges": {
+ "currency": "USD",
+ "value": 0.0
+ },
+ "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789",
+ "billingProfileId": null,
+ "invoiceSectionId": null
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernInvoiceSectionId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernInvoiceSectionId.json
new file mode 100644
index 000000000000..0f78358c8d3e
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListByModernInvoiceSectionId.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/BillingAccounts/1234:56789/invoiceSections/97531"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/2460/invoiceSections/97531/providers/Microsoft.Consumption/charges/chargeSummaryId1",
+ "name": "chargeSummaryId1",
+ "type": "Microsoft.Consumption/charges",
+ "kind": "modern",
+ "properties": {
+ "isInvoiced": false,
+ "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Billing/billingPeriods/201910",
+ "usageStart": "2021-05-01",
+ "usageEnd": "2019-10-31",
+ "azureCharges": {
+ "currency": "USD",
+ "value": 12.0
+ },
+ "chargesBilledSeparately": {
+ "currency": "USD",
+ "value": 0.0
+ },
+ "marketplaceCharges": {
+ "currency": "USD",
+ "value": 0.0
+ },
+ "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/1234:56789",
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/2460",
+ "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/1234:56789/billingProfiles/2460/invoiceSections/97531"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListForDepartmentFilterByStartEndDate.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListForDepartmentFilterByStartEndDate.json
new file mode 100644
index 000000000000..7bdb13aeb586
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListForDepartmentFilterByStartEndDate.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/BillingAccounts/1234/departments/42425",
+ "$filter": "usageStart eq '2018-04-01' AND usageEnd eq '2018-05-30'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234/departments/42425/providers/Microsoft.Consumption/charges/chargeSummaryId1",
+ "name": "chargeSummaryId1",
+ "type": "Microsoft.Consumption/charges",
+ "kind": "legacy",
+ "properties": {
+ "billingPeriodId": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201804",
+ "usageStart": "2018-04-01",
+ "usageEnd": "2018-04-30",
+ "azureCharges": 5000.00,
+ "chargesBilledSeparately": 60.90,
+ "marketplaceCharges": 100.00,
+ "currency": "USD"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListForEnrollmentAccountFilterByStartEndDate.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListForEnrollmentAccountFilterByStartEndDate.json
new file mode 100644
index 000000000000..f1fbd6b15a44
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ChargesListForEnrollmentAccountFilterByStartEndDate.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/BillingAccounts/1234/enrollmentAccounts/42425"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234/enrollmentAccounts/42425/providers/Microsoft.Consumption/charges/chargeSummaryId1",
+ "name": "chargeSummaryId1",
+ "type": "Microsoft.Consumption/charges",
+ "kind": "legacy",
+ "properties": {
+ "billingPeriodId": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201804",
+ "usageStart": "2018-04-01",
+ "usageEnd": "2018-04-30",
+ "azureCharges": 5000.00,
+ "chargesBilledSeparately": 60.90,
+ "marketplaceCharges": 100.00,
+ "currency": "USD"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/CreateOrUpdateBudget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/CreateOrUpdateBudget.json
new file mode 100644
index 000000000000..3234cfdab295
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/CreateOrUpdateBudget.json
@@ -0,0 +1,224 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "budgetName": "TestBudget",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "parameters": {
+ "eTag": "\"1d34d016a593709\"",
+ "properties": {
+ "category": "Cost",
+ "amount": 100.65,
+ "timeGrain": "Monthly",
+ "timePeriod": {
+ "startDate": "2017-10-01T00:00:00Z",
+ "endDate": "2018-10-31T00:00:00Z"
+ },
+ "filter": {
+ "and": [
+ {
+ "dimensions": {
+ "name": "ResourceId",
+ "operator": "In",
+ "values": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1"
+ ]
+ }
+ },
+ {
+ "tags": {
+ "name": "category",
+ "operator": "In",
+ "values": [
+ "Dev",
+ "Prod"
+ ]
+ }
+ },
+ {
+ "tags": {
+ "name": "department",
+ "operator": "In",
+ "values": [
+ "engineering",
+ "sales"
+ ]
+ }
+ }
+ ]
+ },
+ "notifications": {
+ "Actual_GreaterThan_80_Percent": {
+ "enabled": true,
+ "operator": "GreaterThan",
+ "threshold": 80,
+ "contactEmails": [
+ "johndoe@contoso.com",
+ "janesmith@contoso.com"
+ ],
+ "contactRoles": [
+ "Contributor",
+ "Reader"
+ ],
+ "contactGroups": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup"
+ ],
+ "thresholdType": "Actual"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/TestBudget",
+ "name": "TestBudget",
+ "type": "Microsoft.Consumption/budgets",
+ "eTag": "\"1d34d012214157f\"",
+ "properties": {
+ "category": "Cost",
+ "amount": 100.65,
+ "timeGrain": "Monthly",
+ "timePeriod": {
+ "startDate": "2017-10-01T00:00:00Z",
+ "endDate": "2018-10-31T00:00:00Z"
+ },
+ "filter": {
+ "and": [
+ {
+ "dimensions": {
+ "name": "ResourceId",
+ "operator": "In",
+ "values": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1"
+ ]
+ }
+ },
+ {
+ "tags": {
+ "name": "category",
+ "operator": "In",
+ "values": [
+ "Dev",
+ "Prod"
+ ]
+ }
+ },
+ {
+ "tags": {
+ "name": "department",
+ "operator": "In",
+ "values": [
+ "engineering",
+ "sales"
+ ]
+ }
+ }
+ ]
+ },
+ "currentSpend": {
+ "amount": 80.89,
+ "unit": "USD"
+ },
+ "notifications": {
+ "Actual_GreaterThan_80_Percent": {
+ "enabled": true,
+ "operator": "GreaterThan",
+ "threshold": 80,
+ "contactEmails": [
+ "johndoe@contoso.com",
+ "janesmith@contoso.com"
+ ],
+ "contactRoles": [
+ "Contributor",
+ "Reader"
+ ],
+ "contactGroups": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup"
+ ],
+ "thresholdType": "Actual"
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/budgets/TestBudget",
+ "name": "TestBudget",
+ "type": "Microsoft.Consumption/budgets",
+ "eTag": "\"1d34d012214157f\"",
+ "properties": {
+ "category": "Cost",
+ "amount": 100.65,
+ "timeGrain": "Monthly",
+ "timePeriod": {
+ "startDate": "2017-10-01T00:00:00Z",
+ "endDate": "2018-10-31T00:00:00Z"
+ },
+ "filter": {
+ "and": [
+ {
+ "dimensions": {
+ "name": "ResourceId",
+ "operator": "In",
+ "values": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1"
+ ]
+ }
+ },
+ {
+ "tags": {
+ "name": "category",
+ "operator": "In",
+ "values": [
+ "Dev",
+ "Prod"
+ ]
+ }
+ },
+ {
+ "tags": {
+ "name": "department",
+ "operator": "In",
+ "values": [
+ "engineering",
+ "sales"
+ ]
+ }
+ }
+ ]
+ },
+ "currentSpend": {
+ "amount": 80.89,
+ "unit": "USD"
+ },
+ "notifications": {
+ "Actual_GreaterThan_80_Percent": {
+ "enabled": true,
+ "operator": "GreaterThan",
+ "threshold": 80,
+ "contactEmails": [
+ "johndoe@contoso.com",
+ "janesmith@contoso.com"
+ ],
+ "contactRoles": [
+ "Contributor",
+ "Reader"
+ ],
+ "contactGroups": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup"
+ ],
+ "thresholdType": "Actual"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/CreditSummaryByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/CreditSummaryByBillingProfile.json
new file mode 100644
index 000000000000..1fb696218838
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/CreditSummaryByBillingProfile.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "billingAccountId": "1234:5678",
+ "billingProfileId": "2468"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/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
+ },
+ "currentBalance": {
+ "currency": "USD",
+ "value": 100.00
+ }
+ },
+ "pendingCreditAdjustments": {
+ "currency": "USD",
+ "value": 500.00
+ },
+ "expiredCredit": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "pendingEligibleCharges": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "reseller": {
+ "resellerId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/reseller/reseller1",
+ "resellerDescription": "Reseller information."
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/DeleteBudget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/DeleteBudget.json
new file mode 100644
index 000000000000..fb77c5180c45
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/DeleteBudget.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "budgetName": "TestBudget",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/EventsGetByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/EventsGetByBillingAccount.json
new file mode 100644
index 000000000000..3bd360a4972e
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/EventsGetByBillingAccount.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "billingAccountId": "1234:5678"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Consumption/events/eventId1",
+ "name": "eventId1",
+ "type": "Microsoft.Consumption/events",
+ "properties": {
+ "lotSource": "ConsumptionCommitment",
+ "lotId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/Microsoft.Consumption/lots/G202001083926600XXXXX",
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/X3TD-KVTT-BG7-TGB",
+ "billingProfileDisplayName": "Contoso Operations Billing",
+ "transactionDate": "2019-07-01T00:00:00Z",
+ "description": "New MACC Added",
+ "charges": {
+ "currency": "USD",
+ "value": 500
+ },
+ "newCredit": {
+ "currency": "USD",
+ "value": 500
+ },
+ "closedBalance": {
+ "currency": "USD",
+ "value": 500
+ },
+ "invoiceNumber": "3304",
+ "eventType": "NewCredit"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Consumption/events/eventId2",
+ "name": "eventId2",
+ "type": "Microsoft.Consumption/events",
+ "properties": {
+ "lotSource": "AzurePrepayment",
+ "lotId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/Microsoft.Consumption/lots/7004bc39-974d-482e-8e45-caf91dba0870",
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/X3TD-KVTT-BG7-TGB",
+ "billingProfileDisplayName": "Contoso Operations Billing",
+ "transactionDate": "2019-07-01T00:00:00Z",
+ "description": "Balance after invoice 3304",
+ "charges": {
+ "currency": "USD",
+ "value": 500
+ },
+ "closedBalance": {
+ "currency": "USD",
+ "value": 500
+ },
+ "invoiceNumber": "3304",
+ "eventType": "SettledCharges"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/EventsGetByBillingAccountWithFilters.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/EventsGetByBillingAccountWithFilters.json
new file mode 100644
index 000000000000..9f3abbc8588b
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/EventsGetByBillingAccountWithFilters.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "billingAccountId": "1234:5678",
+ "$filter": "lotid eq 'G202001083926600XXXXX' AND lotsource eq 'consumptioncommitment'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:56789/providers/Microsoft.Consumption/events/eventId1",
+ "name": "eventId1",
+ "type": "Microsoft.Consumption/events",
+ "properties": {
+ "lotSource": "ConsumptionCommitment",
+ "lotId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/Microsoft.Consumption/lots/G202001083926600XXXXX",
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/X3TD-KVTT-BG7-TGB",
+ "billingProfileDisplayName": "Contoso Operations Billing",
+ "transactionDate": "2019-07-01T00:00:00Z",
+ "description": "MACC Canceled",
+ "canceledCredit": {
+ "currency": "USD",
+ "value": 200
+ },
+ "closedBalance": {
+ "currency": "USD",
+ "value": 500
+ },
+ "invoiceNumber": "3304",
+ "eventType": "CanceledCredit"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/EventsListByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/EventsListByBillingProfile.json
new file mode 100644
index 000000000000..737140b05560
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/EventsListByBillingProfile.json
@@ -0,0 +1,257 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "billingAccountId": "1234:5678",
+ "billingProfileId": "4268",
+ "startDate": "2019-09-01",
+ "endDate": "2019-10-31"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/4268/providers/Microsoft.Consumption/events/event1",
+ "name": "event1",
+ "type": "Microsoft.Consumption/events",
+ "properties": {
+ "transactionDate": "2019-07-01T00:00:00Z",
+ "description": "Settled invoice #312033",
+ "creditCurrency": "USD",
+ "reseller": {
+ "resellerId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/reseller/reseller1",
+ "resellerDescription": "Reseller information"
+ },
+ "billingCurrency": "USD",
+ "newCredit": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "newCreditInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "adjustments": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "adjustmentsInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "creditExpired": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "creditExpiredInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "charges": {
+ "currency": "USD",
+ "value": 500.00
+ },
+ "chargesInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "closedBalance": {
+ "currency": "USD",
+ "value": 500.00
+ },
+ "closedBalanceInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "eventType": "SettledCharges",
+ "invoiceNumber": "3301"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/4268/providers/Microsoft.Consumption/events/event2",
+ "name": "event2",
+ "type": "Microsoft.Consumption/events",
+ "properties": {
+ "transactionDate": "2019-08-01T00:00:00Z",
+ "description": "New credits added",
+ "creditCurrency": "USD",
+ "reseller": {
+ "resellerId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/reseller/reseller1",
+ "resellerDescription": "Reseller information"
+ },
+ "billingCurrency": "USD",
+ "newCredit": {
+ "currency": "USD",
+ "value": 400.00
+ },
+ "newCreditInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "canceledCredit": {
+ "currency": "USD",
+ "value": 5000
+ },
+ "adjustments": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "adjustmentsInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "creditExpired": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "creditExpiredInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "charges": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "chargesInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "closedBalance": {
+ "currency": "USD",
+ "value": 900.00
+ },
+ "closedBalanceInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "eventType": "NewCredit",
+ "invoiceNumber": "3302"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/4268/providers/Microsoft.Consumption/events/event3",
+ "name": "event3",
+ "type": "Microsoft.Consumption/events",
+ "properties": {
+ "transactionDate": "2019-09-01T00:00:00Z",
+ "description": "Credits Expired",
+ "creditCurrency": "USD",
+ "reseller": {
+ "resellerId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/reseller/reseller1",
+ "resellerDescription": "Reseller information"
+ },
+ "billingCurrency": "USD",
+ "newCredit": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "newCreditInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "canceledCredit": {
+ "currency": "USD",
+ "value": 5000
+ },
+ "adjustments": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "adjustmentsInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "creditExpired": {
+ "currency": "USD",
+ "value": 300.00
+ },
+ "creditExpiredInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "charges": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "chargesInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "closedBalance": {
+ "currency": "USD",
+ "value": 600.00
+ },
+ "closedBalanceInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "eventType": "ExpiredCredit",
+ "invoiceNumber": ""
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/4268/providers/Microsoft.Consumption/events/event4",
+ "name": "event4",
+ "type": "Microsoft.Consumption/events",
+ "properties": {
+ "transactionDate": "2021-05-01T00:00:00Z",
+ "description": "Settled invoice #212033",
+ "creditCurrency": "USD",
+ "reseller": {
+ "resellerId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/reseller/reseller1",
+ "resellerDescription": "Reseller information"
+ },
+ "billingCurrency": "USD",
+ "newCredit": {
+ "currency": "USD",
+ "value": 300.00
+ },
+ "newCreditInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "canceledCredit": {
+ "currency": "USD",
+ "value": 5000
+ },
+ "adjustments": {
+ "currency": "USD",
+ "value": -200.00
+ },
+ "adjustmentsInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "creditExpired": {
+ "currency": "USD",
+ "value": 100.00
+ },
+ "creditExpiredInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "charges": {
+ "currency": "USD",
+ "value": 300.00
+ },
+ "chargesInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "closedBalance": {
+ "currency": "USD",
+ "value": 700.00
+ },
+ "closedBalanceInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "eventType": "SettledCharges",
+ "invoiceNumber": "3303"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ForecastsList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ForecastsList.json
new file mode 100644
index 000000000000..90f4742fb897
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ForecastsList.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Consumption/forecasts/forecastId1",
+ "name": "forecastId1",
+ "type": "Microsoft.Consumption/forecasts",
+ "properties": {
+ "usageDate": "2018-04-01",
+ "grain": "Daily",
+ "charge": 752.000000,
+ "currency": "USD",
+ "chargeType": "Actual",
+ "confidenceLevels": null
+ }
+ },
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Consumption/forecasts/forecastId2",
+ "name": "forecastId2",
+ "type": "Microsoft.Consumption/forecasts",
+ "properties": {
+ "usageDate": "2018-04-02",
+ "grain": "Daily",
+ "charge": 753.809074,
+ "currency": "USD",
+ "chargeType": "Forecast",
+ "confidenceLevels": [
+ {
+ "percentage": 95,
+ "bound": "Upper",
+ "value": 1165.951737
+ },
+ {
+ "percentage": 95,
+ "bound": "Lower",
+ "value": 340.753404
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ForecastsListFilterByDates.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ForecastsListFilterByDates.json
new file mode 100644
index 000000000000..72cd1be8ebb3
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ForecastsListFilterByDates.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "$filter": "properties/usagedate ge '2018-04-01' AND properties/usagedate le '2018-04-02'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Consumption/forecasts/forecastId1",
+ "name": "forecastId1",
+ "type": "Microsoft.Consumption/forecasts",
+ "properties": {
+ "usageDate": "2018-04-01",
+ "grain": "Daily",
+ "charge": 752.000000,
+ "currency": "USD",
+ "chargeType": "Actual",
+ "confidenceLevels": null
+ }
+ },
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Consumption/forecasts/forecastId2",
+ "name": "forecastId2",
+ "type": "Microsoft.Consumption/forecasts",
+ "properties": {
+ "usageDate": "2018-04-02",
+ "grain": "Daily",
+ "charge": 753.809074,
+ "currency": "USD",
+ "chargeType": "Forecast",
+ "confidenceLevels": [
+ {
+ "percentage": 95,
+ "bound": "Upper",
+ "value": 1165.951737
+ },
+ {
+ "percentage": 95,
+ "bound": "Lower",
+ "value": 340.753404
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ForecastsListFilterByGrain.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ForecastsListFilterByGrain.json
new file mode 100644
index 000000000000..8b429c10c874
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ForecastsListFilterByGrain.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "$filter": "properties/Grain eq 'Monthly'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Consumption/forecasts/forecastId1",
+ "name": "forecastId1",
+ "type": "Microsoft.Consumption/forecasts",
+ "properties": {
+ "usageDate": "2018-04-01",
+ "grain": "Monthly",
+ "charge": 752.000000,
+ "currency": "USD",
+ "chargeType": "Actual",
+ "confidenceLevels": null
+ }
+ },
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Consumption/forecasts/forecastId2",
+ "name": "forecastId2",
+ "type": "Microsoft.Consumption/forecasts",
+ "properties": {
+ "usageDate": "2018-05-01",
+ "grain": "Monthly",
+ "charge": 753.809074,
+ "currency": "USD",
+ "chargeType": "Forecast",
+ "confidenceLevels": [
+ {
+ "percentage": 95,
+ "bound": "Upper",
+ "value": 1165.951737
+ },
+ {
+ "percentage": 95,
+ "bound": "Lower",
+ "value": 340.753404
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/LotsListByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/LotsListByBillingAccount.json
new file mode 100644
index 000000000000..46577725a184
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/LotsListByBillingAccount.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "billingAccountId": "1234:5678"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/lots/lot1",
+ "name": "lot1",
+ "type": "Microsoft.Consumption/lots",
+ "properties": {
+ "originalAmount": {
+ "currency": "USD",
+ "value": 5000.00
+ },
+ "closedBalance": {
+ "currency": "USD",
+ "value": 60.90
+ },
+ "source": "ConsumptionCommitment",
+ "startDate": "2019-10-01T00:00:00Z",
+ "expirationDate": "2019-11-01T00:00:00Z",
+ "purchaseDate": "2019-09-01T00:00:00Z",
+ "status": "Active"
+ }
+ },
+ {
+ "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
+ },
+ "closedBalance": {
+ "currency": "USD",
+ "value": 80.90
+ },
+ "source": "ConsumptionCommitment",
+ "startDate": "2019-11-01T00:00:00Z",
+ "expirationDate": "2019-12-31T00:00:00Z",
+ "purchaseDate": "2019-09-01T00:00:00Z",
+ "status": "Expired"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/LotsListByBillingAccountWithFilters.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/LotsListByBillingAccountWithFilters.json
new file mode 100644
index 000000000000..bdc9acf1bd18
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/LotsListByBillingAccountWithFilters.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "billingAccountId": "1234:5678",
+ "$filter": "status eq 'active' AND source eq 'consumptioncommitment'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/lots/lot1",
+ "name": "lot1",
+ "type": "Microsoft.Consumption/lots",
+ "properties": {
+ "originalAmount": {
+ "currency": "USD",
+ "value": 5000.00
+ },
+ "closedBalance": {
+ "currency": "USD",
+ "value": 60.90
+ },
+ "source": "ConsumptionCommitment",
+ "startDate": "2019-10-01T00:00:00Z",
+ "expirationDate": "2019-11-01T00:00:00Z",
+ "purchaseDate": "2019-09-01T00:00:00Z",
+ "status": "Active"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/LotsListByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/LotsListByBillingProfile.json
new file mode 100644
index 000000000000..9d7a66b8aa02
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/LotsListByBillingProfile.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "billingAccountId": "1234:5678",
+ "billingProfileId": "2468"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/lots/lot1",
+ "name": "lot1",
+ "type": "Microsoft.Consumption/lots",
+ "properties": {
+ "creditCurrency": "USD",
+ "billingCurrency": "USD",
+ "originalAmount": {
+ "currency": "USD",
+ "value": 5000.00
+ },
+ "originalAmountInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "closedBalance": {
+ "currency": "USD",
+ "value": 60.90
+ },
+ "closedBalanceInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "reseller": {
+ "resellerId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/reseller/reseller1",
+ "resellerDescription": "Reseller information."
+ },
+ "source": "PurchasedCredit",
+ "startDate": "2021-05-01T00:00:00Z",
+ "expirationDate": "2021-05-01T00:00:00Z",
+ "poNumber": "3524"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/lots/lot2",
+ "name": "lot2",
+ "type": "Microsoft.Consumption/lots",
+ "properties": {
+ "creditCurrency": "USD",
+ "billingCurrency": "USD",
+ "originalAmount": {
+ "currency": "USD",
+ "value": 6000.00
+ },
+ "originalAmountInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "closedBalance": {
+ "currency": "USD",
+ "value": 80.90
+ },
+ "closedBalanceInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "reseller": {
+ "resellerId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/reseller/reseller2",
+ "resellerDescription": "Reseller information."
+ },
+ "source": "PurchasedCredit",
+ "startDate": "2021-05-01T00:00:00Z",
+ "expirationDate": "2019-12-31T00:00:00Z",
+ "poNumber": "31224"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesByBillingAccountList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesByBillingAccountList.json
new file mode 100644
index 000000000000..3473968bd0dd
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesByBillingAccountList.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456",
+ "billingAccountId": "123456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/marketplaces/marketplaceId1",
+ "name": "marketplaceId1",
+ "type": "Microsoft.Consumption/marketPlaces",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "accountName": "Account1",
+ "additionalProperties": "additionalProperties",
+ "costCenter": "Center1",
+ "departmentName": "Department1",
+ "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702",
+ "usageStart": "2017-02-13T00:00:00Z",
+ "usageEnd": "2017-02-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/subid/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1",
+ "currency": "USD",
+ "consumedQuantity": 0.00328,
+ "pretaxCost": 0.67,
+ "isEstimated": false,
+ "offerName": "offer1",
+ "resourceGroup": "TEST",
+ "orderNumber": "00000000-0000-0000-0000-000000000000",
+ "publisherName": "xyz",
+ "planName": "plan1",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "azure subscription",
+ "unitOfMeasure": "10 Hours",
+ "isRecurringCharge": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesByBillingAccountListForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesByBillingAccountListForBillingPeriod.json
new file mode 100644
index 000000000000..2a23d5961918
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesByBillingAccountListForBillingPeriod.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456",
+ "billingPeriodName": "201702"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/marketplaces/marketplaceId1",
+ "name": "marketplacesId1",
+ "type": "Microsoft.Consumption/marketPlaces",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "accountName": "Account1",
+ "additionalProperties": "additionalProperties",
+ "costCenter": "Center1",
+ "departmentName": "Department1",
+ "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702",
+ "usageStart": "2017-02-13T00:00:00Z",
+ "usageEnd": "2017-02-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/subid/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1",
+ "currency": "USD",
+ "consumedQuantity": 0.00328,
+ "pretaxCost": 0.67,
+ "isEstimated": false,
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "offerName": "offer1",
+ "resourceGroup": "TEST",
+ "orderNumber": "00000000-0000-0000-0000-000000000000",
+ "publisherName": "xyz",
+ "planName": "plan2",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "azure subscription",
+ "unitOfMeasure": "10 Hours",
+ "isRecurringCharge": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesByDepartmentList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesByDepartmentList.json
new file mode 100644
index 000000000000..192b0437a76a
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesByDepartmentList.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "departmentId": "123456",
+ "billingPeriodName": "201702",
+ "scope": "providers/Microsoft.Billing/departments/123456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/departments/123456/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/marketplaces/marketplaceId1",
+ "name": "marketplacesId1",
+ "type": "Microsoft.Consumption/marketPlaces",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "accountName": "Account1",
+ "additionalProperties": "additionalProperties",
+ "costCenter": "Center1",
+ "departmentName": "Department1",
+ "billingPeriodId": "/providers/Microsoft.Billing/departments/123456/providers/Microsoft.Billing/billingPeriods/201702",
+ "usageStart": "2017-02-13T00:00:00Z",
+ "usageEnd": "2017-02-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/subid/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1",
+ "currency": "USD",
+ "consumedQuantity": 0.00328,
+ "pretaxCost": 0.67,
+ "isEstimated": false,
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "offerName": "offer1",
+ "resourceGroup": "TEST",
+ "orderNumber": "00000000-0000-0000-0000-000000000000",
+ "publisherName": "xyz",
+ "planName": "plan2",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "azure subscription",
+ "unitOfMeasure": "10 Hours",
+ "isRecurringCharge": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesByDepartment_ListByBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesByDepartment_ListByBillingPeriod.json
new file mode 100644
index 000000000000..192b0437a76a
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesByDepartment_ListByBillingPeriod.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "departmentId": "123456",
+ "billingPeriodName": "201702",
+ "scope": "providers/Microsoft.Billing/departments/123456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/departments/123456/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/marketplaces/marketplaceId1",
+ "name": "marketplacesId1",
+ "type": "Microsoft.Consumption/marketPlaces",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "accountName": "Account1",
+ "additionalProperties": "additionalProperties",
+ "costCenter": "Center1",
+ "departmentName": "Department1",
+ "billingPeriodId": "/providers/Microsoft.Billing/departments/123456/providers/Microsoft.Billing/billingPeriods/201702",
+ "usageStart": "2017-02-13T00:00:00Z",
+ "usageEnd": "2017-02-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/subid/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1",
+ "currency": "USD",
+ "consumedQuantity": 0.00328,
+ "pretaxCost": 0.67,
+ "isEstimated": false,
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "offerName": "offer1",
+ "resourceGroup": "TEST",
+ "orderNumber": "00000000-0000-0000-0000-000000000000",
+ "publisherName": "xyz",
+ "planName": "plan2",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "azure subscription",
+ "unitOfMeasure": "10 Hours",
+ "isRecurringCharge": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesByEnrollmentAccountList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesByEnrollmentAccountList.json
new file mode 100644
index 000000000000..553d9e3c14a5
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesByEnrollmentAccountList.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "enrollmentAccountId": "123456",
+ "billingPeriodName": "201702",
+ "scope": "providers/Microsoft.Billing/enrollmentAccounts/123456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/enrollmentAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/marketplaces/marketplaceId1",
+ "name": "marketplacesId1",
+ "type": "Microsoft.Consumption/marketPlaces",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "accountName": "Account1",
+ "additionalProperties": "additionalProperties",
+ "costCenter": "Center1",
+ "departmentName": "Department1",
+ "billingPeriodId": "/providers/Microsoft.Billing/enrollmentAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702",
+ "usageStart": "2017-02-13T00:00:00Z",
+ "usageEnd": "2017-02-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/subid/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1",
+ "currency": "USD",
+ "consumedQuantity": 0.00328,
+ "pretaxCost": 0.67,
+ "isEstimated": false,
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "offerName": "offer1",
+ "resourceGroup": "TEST",
+ "orderNumber": "00000000-0000-0000-0000-000000000000",
+ "publisherName": "xyz",
+ "planName": "plan2",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "azure subscription",
+ "unitOfMeasure": "10 Hours",
+ "isRecurringCharge": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesByEnrollmentAccounts_ListByBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesByEnrollmentAccounts_ListByBillingPeriod.json
new file mode 100644
index 000000000000..553d9e3c14a5
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesByEnrollmentAccounts_ListByBillingPeriod.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "enrollmentAccountId": "123456",
+ "billingPeriodName": "201702",
+ "scope": "providers/Microsoft.Billing/enrollmentAccounts/123456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/enrollmentAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/marketplaces/marketplaceId1",
+ "name": "marketplacesId1",
+ "type": "Microsoft.Consumption/marketPlaces",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "accountName": "Account1",
+ "additionalProperties": "additionalProperties",
+ "costCenter": "Center1",
+ "departmentName": "Department1",
+ "billingPeriodId": "/providers/Microsoft.Billing/enrollmentAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702",
+ "usageStart": "2017-02-13T00:00:00Z",
+ "usageEnd": "2017-02-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/subid/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1",
+ "currency": "USD",
+ "consumedQuantity": 0.00328,
+ "pretaxCost": 0.67,
+ "isEstimated": false,
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "offerName": "offer1",
+ "resourceGroup": "TEST",
+ "orderNumber": "00000000-0000-0000-0000-000000000000",
+ "publisherName": "xyz",
+ "planName": "plan2",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "azure subscription",
+ "unitOfMeasure": "10 Hours",
+ "isRecurringCharge": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesByManagementGroupList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesByManagementGroupList.json
new file mode 100644
index 000000000000..cbe1148b9d7c
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesByManagementGroupList.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "managementGroupId": "managementGroupForTest",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201810/providers/Microsoft.Consumption/marketplaces/marketplaceId1",
+ "name": "marketplacesId1",
+ "type": "Microsoft.Consumption/marketPlaces",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "accountName": "Account1",
+ "additionalProperties": "additionalProperties",
+ "costCenter": "Center1",
+ "departmentName": "Department1",
+ "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201810",
+ "usageStart": "2018-10-13T00:00:00Z",
+ "usageEnd": "2018-10-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1",
+ "currency": "USD",
+ "consumedQuantity": 0.00328,
+ "pretaxCost": 0.67,
+ "isEstimated": false,
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "offerName": "offer1",
+ "resourceGroup": "TEST",
+ "orderNumber": "00000000-0000-0000-0000-000000000000",
+ "publisherName": "xyz",
+ "planName": "plan2",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "azure subscription",
+ "unitOfMeasure": "10 Hours",
+ "isRecurringCharge": false
+ }
+ },
+ {
+ "id": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Billing/billingPeriods/201810/providers/Microsoft.Consumption/marketplaces/marketplaceId2",
+ "name": "marketplacesId2",
+ "type": "Microsoft.Consumption/marketPlaces",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "accountName": "Account2",
+ "additionalProperties": "additionalProperties",
+ "costCenter": "Center2",
+ "departmentName": "Department2",
+ "billingPeriodId": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Billing/billingPeriods/201810",
+ "usageStart": "2018-10-13T00:00:00Z",
+ "usageEnd": "2018-10-13T23:59:59Z",
+ "instanceName": "shared2",
+ "instanceId": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared2",
+ "currency": "USD",
+ "consumedQuantity": 0.00328,
+ "pretaxCost": 0.67,
+ "isEstimated": false,
+ "meterId": "11111111-1111-1111-1111-111111111111",
+ "offerName": "offer1",
+ "resourceGroup": "TEST",
+ "orderNumber": "11111111-1111-1111-1111-111111111111",
+ "publisherName": "xyz",
+ "planName": "plan2",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "11111111-1111-1111-1111-111111111111",
+ "subscriptionName": "azure subscription",
+ "unitOfMeasure": "10 Hours",
+ "isRecurringCharge": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesByManagementGroup_ListForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesByManagementGroup_ListForBillingPeriod.json
new file mode 100644
index 000000000000..c34b8a7402e8
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesByManagementGroup_ListForBillingPeriod.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "managementGroupId": "managementGroupForTest",
+ "billingPeriodName": "201808",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201808/providers/Microsoft.Consumption/marketplaces/marketplaceId1",
+ "name": "marketplacesId1",
+ "type": "Microsoft.Consumption/marketPlaces",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "accountName": "Account1",
+ "additionalProperties": "additionalProperties",
+ "costCenter": "Center1",
+ "departmentName": "Department1",
+ "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201808",
+ "usageStart": "2018-08-13T00:00:00Z",
+ "usageEnd": "2018-08-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1",
+ "currency": "USD",
+ "consumedQuantity": 0.00328,
+ "pretaxCost": 0.67,
+ "isEstimated": false,
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "offerName": "offer1",
+ "resourceGroup": "TEST",
+ "orderNumber": "00000000-0000-0000-0000-000000000000",
+ "publisherName": "xyz",
+ "planName": "plan2",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "azure subscription",
+ "unitOfMeasure": "10 Hours",
+ "isRecurringCharge": false
+ }
+ },
+ {
+ "id": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Billing/billingPeriods/201808/providers/Microsoft.Consumption/marketplaces/marketplaceId2",
+ "name": "marketplacesId2",
+ "type": "Microsoft.Consumption/marketPlaces",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "accountName": "Account2",
+ "additionalProperties": "additionalProperties",
+ "costCenter": "Center2",
+ "departmentName": "Department2",
+ "billingPeriodId": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Billing/billingPeriods/201810",
+ "usageStart": "2018-08-13T00:00:00Z",
+ "usageEnd": "2018-08-13T23:59:59Z",
+ "instanceName": "shared2",
+ "instanceId": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared2",
+ "currency": "USD",
+ "consumedQuantity": 0.00328,
+ "pretaxCost": 0.67,
+ "isEstimated": false,
+ "meterId": "11111111-1111-1111-1111-111111111111",
+ "offerName": "offer1",
+ "resourceGroup": "TEST",
+ "orderNumber": "11111111-1111-1111-1111-111111111111",
+ "publisherName": "xyz",
+ "planName": "plan2",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "11111111-1111-1111-1111-111111111111",
+ "subscriptionName": "azure subscription",
+ "unitOfMeasure": "10 Hours",
+ "isRecurringCharge": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesList.json
new file mode 100644
index 000000000000..733dcd10e04d
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesList.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/marketPlaces/marketplaceId1",
+ "name": "marketplaceId1",
+ "type": "Microsoft.Consumption/marketPlaces",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "accountName": "Account1",
+ "additionalProperties": "additionalProperties",
+ "costCenter": "Center1",
+ "departmentName": "Department1",
+ "billingPeriodId": "/subscriptions/subid/providers/Microsoft.Billing/billingPeriods/201702",
+ "usageStart": "2017-02-13T00:00:00Z",
+ "usageEnd": "2017-02-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/subid/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1",
+ "currency": "USD",
+ "consumedQuantity": 0.00328,
+ "pretaxCost": 0.67,
+ "isEstimated": false,
+ "offerName": "offer1",
+ "resourceGroup": "TEST",
+ "orderNumber": "00000000-0000-0000-0000-000000000000",
+ "publisherName": "xyz",
+ "planName": "plan1",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "azure subscription",
+ "unitOfMeasure": "10 Hours",
+ "isRecurringCharge": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesListForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesListForBillingPeriod.json
new file mode 100644
index 000000000000..482c424be9e0
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/MarketplacesListForBillingPeriod.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "billingPeriodName": "201801"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/marketPlaces/marketplacesId1",
+ "name": "marketplacesId1",
+ "type": "Microsoft.Consumption/marketPlaces",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "accountName": "Account1",
+ "additionalProperties": "additionalProperties",
+ "costCenter": "Center1",
+ "departmentName": "Department1",
+ "billingPeriodId": "/subscriptions/subid/providers/Microsoft.Billing/billingPeriods/201702",
+ "usageStart": "2017-02-13T00:00:00Z",
+ "usageEnd": "2017-02-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/subid/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1",
+ "currency": "USD",
+ "consumedQuantity": 0.00328,
+ "pretaxCost": 0.67,
+ "isEstimated": false,
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "offerName": "offer1",
+ "resourceGroup": "TEST",
+ "orderNumber": "00000000-0000-0000-0000-000000000000",
+ "publisherName": "xyz",
+ "planName": "plan2",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "azure subscription",
+ "unitOfMeasure": "10 Hours",
+ "isRecurringCharge": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/PriceSheet.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/PriceSheet.json
new file mode 100644
index 000000000000..2d38dba7fac5
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/PriceSheet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/pricesheets/default",
+ "name": "default",
+ "type": "Microsoft.Consumption/pricesheets",
+ "properties": {
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.consumption/pricesheets/default?api-version=2018-01-31&$skiptoken=AQAAAA%3D%3D",
+ "pricesheets": [
+ {
+ "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "unitOfMeasure": "100 Hours",
+ "includedQuantity": 100,
+ "partNumber": "XX-11110",
+ "unitPrice": 0.00328,
+ "currencyCode": "EUR",
+ "offerId": "OfferId 1"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/PriceSheetExpand.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/PriceSheetExpand.json
new file mode 100644
index 000000000000..88401034ad86
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/PriceSheetExpand.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "billingPeriodName": "201801",
+ "$expand": "meterDetails"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/pricesheets/default",
+ "name": "default",
+ "type": "Microsoft.Consumption/pricesheets",
+ "properties": {
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.consumption/pricesheets/default?api-version=2018-01-31&$skiptoken=AQAAAA%3D%3D&$expand=properties/pricesheets/meterDetails",
+ "pricesheets": [
+ {
+ "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "unitOfMeasure": "100 Hours",
+ "includedQuantity": 100,
+ "partNumber": "XX-11110",
+ "unitPrice": 0.00328,
+ "currencyCode": "EUR",
+ "offerId": "OfferId 1",
+ "meterDetails": {
+ "meterName": "Data Transfer Out (GB)",
+ "meterCategory": "Networking",
+ "unit": "GB",
+ "meterLocation": "Zone 2",
+ "totalIncludedQuantity": 0,
+ "pretaxStandardRate": 0.138
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/PriceSheetForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/PriceSheetForBillingPeriod.json
new file mode 100644
index 000000000000..0fdc581b9c17
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/PriceSheetForBillingPeriod.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "billingPeriodName": "201801"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/pricesheets/default",
+ "name": "default",
+ "type": "Microsoft.Consumption/pricesheets",
+ "properties": {
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702/providers/microsoft.consumption/pricesheets/default?api-version=2018-01-31",
+ "pricesheets": [
+ {
+ "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "unitOfMeasure": "100 Hours",
+ "includedQuantity": 100,
+ "partNumber": "XX-11110",
+ "unitPrice": 0.00328,
+ "currencyCode": "EUR",
+ "offerId": "OfferId 1"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationDetails.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationDetails.json
new file mode 100644
index 000000000000..6771de392f70
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationDetails.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "$filter": "properties/usageDate ge 2017-10-01 AND properties/usageDate le 2017-12-05"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Capacity/reservationOrders/00000000-0000-0000-0000-000000000000/reservations/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationDetails/20171129",
+ "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000_20171129",
+ "type": "Microsoft.Consumption/reservationDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "usageDate": "2017-11-29T00:00:00Z",
+ "skuName": "Standard_D2_v2",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/wvn-sql/providers/microsoft.compute/virtualmachines/abc-sql2014sp33",
+ "totalReservedQuantity": 1.000000000000000,
+ "reservedHours": 24.000000000000000,
+ "usedHours": 24.000000000000000,
+ "instanceFlexibilityGroup": "DSv2 Series",
+ "instanceFlexibilityRatio": "0.25"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationDetailsByBillingAccountId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationDetailsByBillingAccountId.json
new file mode 100644
index 000000000000..fb65f5948dd2
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationDetailsByBillingAccountId.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345",
+ "$filter": "properties/usageDate ge 2017-10-01 AND properties/usageDate le 2017-12-05"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/12345/providers/Microsoft.Consumption/reservationDetails/reservationDetails_Id1",
+ "name": "reservationDetails_Id1",
+ "type": "Microsoft.Consumption/reservationDetails",
+ "tags": null,
+ "properties": {
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "usageDate": "2017-11-30T00:00:00-08:00",
+ "skuName": "Standard_D2s_v3",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sqlh1/providers/microsoft.compute/virtualmachines/sqlh1",
+ "totalReservedQuantity": 0,
+ "reservedHours": 48,
+ "usedHours": 0.6,
+ "instanceFlexibilityGroup": "DSv3 Series",
+ "instanceFlexibilityRatio": "1"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationDetailsByBillingProfileId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationDetailsByBillingProfileId.json
new file mode 100644
index 000000000000..116a474262ff
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationDetailsByBillingProfileId.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579",
+ "startDate": "2019-09-01",
+ "endDate": "2019-10-31"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579/providers/Microsoft.Consumption/reservationDetails/reservationDetails_Id1",
+ "name": "reservationDetails_Id1",
+ "type": "Microsoft.Consumption/reservationDetails",
+ "tags": null,
+ "properties": {
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "usageDate": "2019-09-30T00:00:00-08:00",
+ "skuName": "Standard_D2s_v3",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sqlh1/providers/microsoft.compute/virtualmachines/sqlh1",
+ "totalReservedQuantity": 0,
+ "reservedHours": 48,
+ "usedHours": 0.6,
+ "instanceFlexibilityGroup": "DSv3 Series",
+ "instanceFlexibilityRatio": "1"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationDetailsByBillingProfileIdReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationDetailsByBillingProfileIdReservationId.json
new file mode 100644
index 000000000000..89072831186f
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationDetailsByBillingProfileIdReservationId.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579",
+ "startDate": "2019-09-01",
+ "endDate": "2019-10-31",
+ "reservationId": "1c6b6358-709f-484c-85f1-72e862a0cf3b",
+ "reservationOrderId": "9f39ba10-794f-4dcb-8f4b-8d0cb47c27dc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579/providers/Microsoft.Consumption/reservationDetails/reservationDetails_Id1",
+ "name": "reservationDetails_Id1",
+ "type": "Microsoft.Consumption/reservationDetails",
+ "tags": null,
+ "properties": {
+ "reservationOrderId": "9f39ba10-794f-4dcb-8f4b-8d0cb47c27dc",
+ "reservationId": "1c6b6358-709f-484c-85f1-72e862a0cf3b",
+ "usageDate": "2019-09-30T00:00:00-08:00",
+ "skuName": "Standard_D2s_v3",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sqlh1/providers/microsoft.compute/virtualmachines/sqlh1",
+ "totalReservedQuantity": 0,
+ "reservedHours": 48,
+ "usedHours": 0.6,
+ "instanceFlexibilityGroup": "DSv3 Series",
+ "instanceFlexibilityRatio": "1"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationDetailsWithReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationDetailsWithReservationId.json
new file mode 100644
index 000000000000..66a263a066a1
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationDetailsWithReservationId.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "$filter": "properties/usageDate ge 2017-10-01 AND properties/usageDate le 2017-12-05"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Capacity/reservationOrders/00000000-0000-0000-0000-000000000000/reservations/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationDetails/20171129",
+ "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000_20171129",
+ "type": "Microsoft.Consumption/reservationDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "usageDate": "2017-11-29T00:00:00Z",
+ "skuName": "Standard_D2_v2",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/wvn-sql/providers/microsoft.compute/virtualmachines/wvn-sql2014sp33",
+ "totalReservedQuantity": 1.000000000000000,
+ "reservedHours": 24.000000000000000,
+ "usedHours": 24.000000000000000,
+ "kind": "Reservation",
+ "instanceFlexibilityGroup": "D2v2 Series",
+ "instanceFlexibilityRatio": "1"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationDetailsByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationDetailsByBillingAccount.json
new file mode 100644
index 000000000000..897311774e29
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationDetailsByBillingAccount.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "billingScope": "providers/Microsoft.Billing/billingAccounts/000000",
+ "lookBackPeriod": "Last60Days",
+ "product": "Standard_DS14_v2",
+ "region": "eastus",
+ "scope": "Shared",
+ "term": "P1Y"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/00000000/providers/microsoft.consumption/reservationrecommendationdetails",
+ "name": "reservationRecommendationDetails",
+ "type": "Microsoft.Consumption/ReservationRecommendationDetails",
+ "properties": {
+ "currency": "USD",
+ "resource": {
+ "appliedScopes": [
+ "00000000-0000-0000-0000-00000000",
+ "00000000-0000-0000-0000-00000000"
+ ],
+ "onDemandRate": 1.482,
+ "product": "Standard_DS14_v2",
+ "region": "eastus",
+ "reservationRate": 0.70570776255707,
+ "resourceType": "virtualmachines"
+ },
+ "resourceGroup": null,
+ "savings": {
+ "calculatedSavings": [
+ {
+ "onDemandCost": 529550.326618951,
+ "overageCost": 63253.5935111345,
+ "quantity": 220,
+ "reservationCost": 223102.452054792,
+ "totalReservationCost": 286356.045565927,
+ "savings": 243194.281053024
+ },
+ {
+ "onDemandCost": 529550.326618950,
+ "overageCost": 149335.025050147,
+ "quantity": 179,
+ "reservationCost": 181524.267808217,
+ "totalReservationCost": 330859.292858364,
+ "savings": 198691.033760586
+ },
+ {
+ "onDemandCost": 529550.326618950,
+ "overageCost": 195942.319606957,
+ "quantity": 157,
+ "reservationCost": 159214.022602738,
+ "totalReservationCost": 355156.342209695,
+ "savings": 174393.984409255
+ },
+ {
+ "onDemandCost": 529550.326618950,
+ "overageCost": 30975.2311896299,
+ "quantity": 241,
+ "reservationCost": 244398.595205477,
+ "totalReservationCost": 275373.826395107,
+ "savings": 254176.500223843
+ }
+ ],
+ "lookBackPeriod": 60,
+ "recommendedQuantity": 253.0,
+ "reservationOrderTerm": "P1Y",
+ "savingsType": "instance",
+ "unitOfMeasure": "hour"
+ },
+ "scope": "Shared",
+ "usage": {
+ "firstConsumptionDate": "2019-11-27T00:00:00",
+ "lastConsumptionDate": "2020-01-25T21:00:00",
+ "lookBackUnitType": "virtualMachine quantity",
+ "usageData": [
+ 275.95003899999995,
+ 275.916705,
+ 276.0,
+ 276.0,
+ 275.916725,
+ 275.916705,
+ 275.98335299999997,
+ 276.0,
+ 276.0,
+ 276.0,
+ 276.0,
+ 276.0,
+ 275.98335299999997,
+ 276.0,
+ 276.0,
+ 276.0,
+ 276.0,
+ 275.933352
+ ],
+ "usageGrain": "hourly"
+ }
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationDetailsByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationDetailsByBillingProfile.json
new file mode 100644
index 000000000000..67805947cde8
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationDetailsByBillingProfile.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "billingScope": "providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-00000000:00000000-0000-0000-0000-00000000/billingProfiles/00000000-0000-0000-0000-00000000",
+ "lookBackPeriod": "Last7Days",
+ "product": "Standard_B2s",
+ "region": "australiaeast",
+ "scope": "Shared",
+ "term": "P1Y"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-00000000:00000000-0000-0000-0000-00000000/billingProfiles/00000000-0000-0000-0000-00000000/providers/microsoft.consumption/reservationrecommendationdetails",
+ "name": "reservationRecommendationDetails",
+ "type": "Microsoft.Consumption/ReservationRecommendationDetails",
+ "properties": {
+ "currency": "AUD",
+ "resource": {
+ "appliedScopes": [
+ "00000000-0000-0000-0000-00000000"
+ ],
+ "onDemandRate": 0.0725,
+ "product": "Standard_B2s",
+ "region": "australiaeast",
+ "reservationRate": 0.044141665317880413,
+ "resourceType": "virtualmachines"
+ },
+ "resourceGroup": null,
+ "savings": {
+ "calculatedSavings": [
+ {
+ "onDemandCost": 632.884472049689441,
+ "overageCost": 0.0,
+ "quantity": 1,
+ "reservationCost": 387.740388152261739,
+ "totalReservationCost": 387.740388152261739,
+ "savings": 245.144083897427702
+ }
+ ],
+ "lookBackPeriod": 7,
+ "recommendedQuantity": 1.0,
+ "reservationOrderTerm": "P1Y",
+ "savingsType": "instance",
+ "unitOfMeasure": "hour"
+ },
+ "scope": "Shared",
+ "usage": {
+ "firstConsumptionDate": "2020-01-19T00:00:00",
+ "lastConsumptionDate": "2020-01-25T17:00:00",
+ "lookBackUnitType": "virtualMachine quantity",
+ "usageData": [
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0,
+ 0.0
+ ],
+ "usageGrain": "hourly"
+ }
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationDetailsByResourceGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationDetailsByResourceGroup.json
new file mode 100644
index 000000000000..f7dc2f12c28f
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationDetailsByResourceGroup.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "billingScope": "subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/testGroup",
+ "lookBackPeriod": "Last30Days",
+ "product": "Standard_DS13_v2",
+ "region": "westus",
+ "scope": "Single",
+ "term": "P3Y"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/testGroup/providers/microsoft.consumption/reservationrecommendationdetails",
+ "name": "reservationRecommendationDetails",
+ "type": "Microsoft.Consumption/ReservationRecommendationDetails",
+ "properties": {
+ "currency": "USD",
+ "resource": {
+ "appliedScopes": [
+ "00000000-0000-0000-0000-00000000",
+ "testGroup"
+ ],
+ "onDemandRate": 0.519,
+ "product": "Standard_DS13_v2",
+ "region": "westus",
+ "reservationRate": 0.302549467275493,
+ "resourceType": "virtualmachines"
+ },
+ "resourceGroup": "testGroup",
+ "savings": {
+ "calculatedSavings": [
+ {
+ "onDemandCost": 368.4813602070006,
+ "overageCost": 0.0,
+ "quantity": 2,
+ "reservationCost": 429.01514459665,
+ "totalReservationCost": 429.01514459665,
+ "savings": -60.5337843896494
+ },
+ {
+ "onDemandCost": 368.481360207000,
+ "overageCost": 1.557,
+ "quantity": 1,
+ "reservationCost": 214.507572298325,
+ "totalReservationCost": 216.064572298325,
+ "savings": 152.416787908675
+ }
+ ],
+ "lookBackPeriod": 30,
+ "recommendedQuantity": 1.0,
+ "reservationOrderTerm": "P3Y",
+ "savingsType": "instance",
+ "unitOfMeasure": "hour"
+ },
+ "scope": "Single",
+ "usage": {
+ "firstConsumptionDate": "2020-02-03T00:00:00",
+ "lastConsumptionDate": "2020-03-03T13:00:00",
+ "lookBackUnitType": "virtualMachine quantity",
+ "usageData": [
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0
+ ],
+ "usageGrain": "hourly"
+ }
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationDetailsBySubscription.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationDetailsBySubscription.json
new file mode 100644
index 000000000000..641cfeaf3564
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationDetailsBySubscription.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "billingScope": "subscriptions/00000000-0000-0000-0000-00000000",
+ "lookBackPeriod": "Last30Days",
+ "product": "Standard_DS13_v2",
+ "region": "westus",
+ "scope": "Single",
+ "term": "P3Y"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-00000000/providers/microsoft.consumption/reservationrecommendationdetails",
+ "name": "reservationRecommendationDetails",
+ "type": "Microsoft.Consumption/ReservationRecommendationDetails",
+ "properties": {
+ "currency": "USD",
+ "resource": {
+ "appliedScopes": [
+ "00000000-0000-0000-0000-00000000"
+ ],
+ "onDemandRate": 0.519,
+ "product": "Standard_DS13_v2",
+ "region": "westus",
+ "reservationRate": 0.302549467275493,
+ "resourceType": "virtualmachines"
+ },
+ "resourceGroup": null,
+ "savings": {
+ "calculatedSavings": [
+ {
+ "onDemandCost": 368.4813602070006,
+ "overageCost": 0.0,
+ "quantity": 2,
+ "reservationCost": 429.01514459665,
+ "totalReservationCost": 429.01514459665,
+ "savings": -60.5337843896494
+ },
+ {
+ "onDemandCost": 368.481360207000,
+ "overageCost": 1.557,
+ "quantity": 1,
+ "reservationCost": 214.507572298325,
+ "totalReservationCost": 216.064572298325,
+ "savings": 152.416787908675
+ }
+ ],
+ "lookBackPeriod": 30,
+ "recommendedQuantity": 1.0,
+ "reservationOrderTerm": "P3Y",
+ "savingsType": "instance",
+ "unitOfMeasure": "hour"
+ },
+ "scope": "Single",
+ "usage": {
+ "firstConsumptionDate": "2020-02-03T00:00:00",
+ "lastConsumptionDate": "2020-03-03T13:00:00",
+ "lookBackUnitType": "virtualMachine quantity",
+ "usageData": [
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0
+ ],
+ "usageGrain": "hourly"
+ }
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationsByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationsByBillingAccount.json
new file mode 100644
index 000000000000..d4df17576ee1
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationsByBillingAccount.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "billingAccount/123456/providers/Microsoft.Consumption/reservationRecommendations/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.Consumption/reservationRecommendations",
+ "location": "westus",
+ "sku": "Standard_DS1_v2",
+ "kind": "legacy",
+ "properties": {
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "term": "P1Y",
+ "costWithNoReservedInstances": 12.0785105,
+ "recommendedQuantity": 1,
+ "totalCostWithReservedInstances": 11.4899644807748,
+ "netSavings": 0.588546019225182,
+ "firstUsageDate": "2019-07-07T00:00:00-07:00",
+ "scope": "Shared",
+ "lookBackPeriod": "Last7Days",
+ "instanceFlexibilityRatio": 1,
+ "instanceFlexibilityGroup": "DSv2 Series",
+ "normalizedSize": "Standard_DS1_v2",
+ "recommendedQuantityNormalized": 1,
+ "skuProperties": [
+ {
+ "name": "Cores",
+ "value": "1"
+ },
+ {
+ "name": "Ram",
+ "value": "1"
+ }
+ ]
+ }
+ },
+ {
+ "id": "billingAccount/123456/providers/Microsoft.Consumption/reservationRecommendations/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.Consumption/reservationRecommendations",
+ "location": "westus",
+ "sku": "Standard_DS1_v2",
+ "kind": "legacy",
+ "properties": {
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "term": "P1Y",
+ "costWithNoReservedInstances": 10.0785105,
+ "recommendedQuantity": 1,
+ "totalCostWithReservedInstances": 13.48,
+ "netSavings": 0.68,
+ "firstUsageDate": "2019-07-07T00:00:00-07:00",
+ "scope": "Shared",
+ "lookBackPeriod": "Last7Days",
+ "instanceFlexibilityRatio": 1,
+ "instanceFlexibilityGroup": "DSv2 Series",
+ "normalizedSize": "Standard_DS1",
+ "recommendedQuantityNormalized": 1.2,
+ "skuProperties": [
+ {
+ "name": "SkuDisplayName",
+ "value": "B"
+ },
+ {
+ "name": "CPU",
+ "value": "1"
+ }
+ ]
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationRecommendations?api-version=2021-05-01&$skiptoken=AQAAAA%3D%3D&"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationsByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationsByBillingProfile.json
new file mode 100644
index 000000000000..3c21ebae9734
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationsByBillingProfile.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456/billingProfiles/6420"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/123456/billingProfiles/6420/providers/Microsoft.Consumption/reservationRecommendations/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.Consumption/reservationRecommendations",
+ "location": "westus",
+ "sku": "Standard_DS1_v2",
+ "kind": "modern",
+ "properties": {
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "term": "P1Y",
+ "costWithNoReservedInstances": {
+ "currency": "USD",
+ "value": 1.4749000882
+ },
+ "recommendedQuantity": 1,
+ "totalCostWithReservedInstances": {
+ "currency": "USD",
+ "value": 1.07665757024628
+ },
+ "netSavings": {
+ "currency": "USD",
+ "value": 0.39824251795372
+ },
+ "firstUsageDate": "2019-07-07T00:00:00-07:00",
+ "scope": "Shared",
+ "lookBackPeriod": 7,
+ "instanceFlexibilityRatio": 1,
+ "instanceFlexibilityGroup": "DSv2 Series",
+ "normalizedSize": "Standard_DS1_v2",
+ "recommendedQuantityNormalized": 1,
+ "skuProperties": [
+ {
+ "name": "Cores",
+ "value": "1"
+ },
+ {
+ "name": "Ram",
+ "value": "1"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/123456/billingProfiles/6420/providers/Microsoft.Consumption/reservationRecommendations/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.Consumption/reservationRecommendations",
+ "location": "westus",
+ "sku": "Standard_DS1_v2",
+ "kind": "modern",
+ "properties": {
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "term": "P1Y",
+ "costWithNoReservedInstances": {
+ "currency": "USD",
+ "value": 1.4896
+ },
+ "recommendedQuantity": 1,
+ "totalCostWithReservedInstances": {
+ "currency": "USD",
+ "value": 1.08265753424628
+ },
+ "netSavings": {
+ "currency": "USD",
+ "value": 0.40694246575372
+ },
+ "firstUsageDate": "2019-07-07T00:00:00-07:00",
+ "scope": "Shared",
+ "lookBackPeriod": 7,
+ "instanceFlexibilityRatio": 1,
+ "instanceFlexibilityGroup": "DSv2 Series",
+ "normalizedSize": "Standard_DS1",
+ "recommendedQuantityNormalized": 1.2,
+ "skuProperties": [
+ {
+ "name": "SkuDisplayName",
+ "value": "B"
+ },
+ {
+ "name": "CPU",
+ "value": "1"
+ }
+ ]
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationRecommendations?api-version=2021-05-01&$skiptoken=AQAAAA%3D%3D&"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationsByResourceGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationsByResourceGroup.json
new file mode 100644
index 000000000000..c82cda4bb1b5
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationsByResourceGroup.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGrouups/testGroup/providers/Microsoft.Consumption/reservationRecommendations/reservationRecommendations1",
+ "name": "reservationRecommendations1",
+ "type": "Microsoft.Consumption/reservationRecommendations",
+ "sku": "Standard_DS1_v2",
+ "location": "northeurope",
+ "kind": "legacy",
+ "properties": {
+ "lookBackPeriod": "Last7Days",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "term": "P1Y",
+ "costWithNoReservedInstances": 0.0,
+ "recommendedQuantity": 1,
+ "totalCostWithReservedInstances": 0.0,
+ "netSavings": 4.634521202630137,
+ "firstUsageDate": "2018-03-06T00:00:00Z",
+ "scope": "Single"
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.Consumption/reservationRecommendations/reservationRecommendations2",
+ "name": "reservationRecommendations2",
+ "type": "Microsoft.Consumption/reservationRecommendations",
+ "sku": "Standard_DS1_v2",
+ "location": "northeurope",
+ "kind": "legacy",
+ "properties": {
+ "lookBackPeriod": "Last7Days",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "term": "P3Y",
+ "costWithNoReservedInstances": 0.0,
+ "recommendedQuantity": 1,
+ "totalCostWithReservedInstances": 0.0,
+ "netSavings": 7.2893157231780812,
+ "firstUsageDate": "2018-03-06T00:00:00Z",
+ "scope": "Single"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.Consumption/reservationRecommendations?api-version=2021-05-01&$skiptoken=AQAAAA%3D%3D&"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationsBySubscription.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationsBySubscription.json
new file mode 100644
index 000000000000..0afd29edb4b5
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationsBySubscription.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationRecommendations/reservationRecommendations1",
+ "name": "reservationRecommendations1",
+ "type": "Microsoft.Consumption/reservationRecommendations",
+ "sku": "Standard_DS1_v2",
+ "location": "northeurope",
+ "kind": "legacy",
+ "properties": {
+ "lookBackPeriod": "Last7Days",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "term": "P1Y",
+ "costWithNoReservedInstances": 0.0,
+ "recommendedQuantity": 1,
+ "totalCostWithReservedInstances": 0.0,
+ "netSavings": 4.634521202630137,
+ "firstUsageDate": "2018-03-06T00:00:00Z",
+ "scope": "Single"
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationRecommendations/reservationRecommendations2",
+ "name": "reservationRecommendations2",
+ "type": "Microsoft.Consumption/reservationRecommendations",
+ "sku": "Standard_DS1_v2",
+ "location": "northeurope",
+ "kind": "legacy",
+ "properties": {
+ "lookBackPeriod": "Last7Days",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "term": "P3Y",
+ "costWithNoReservedInstances": 0.0,
+ "recommendedQuantity": 1,
+ "totalCostWithReservedInstances": 0.0,
+ "netSavings": 7.2893157231780812,
+ "firstUsageDate": "2018-03-06T00:00:00Z",
+ "scope": "Single"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationRecommendations?api-version=2021-05-01&$skiptoken=AQAAAA%3D%3D&"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationsFilterBySubscriptionForScopeLookBackPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationsFilterBySubscriptionForScopeLookBackPeriod.json
new file mode 100644
index 000000000000..9a504b04f6a8
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationRecommendationsFilterBySubscriptionForScopeLookBackPeriod.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "$filter": "properties/scope eq 'Single' AND properties/lookBackPeriod eq 'Last7Days'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationRecommendations/reservationRecommendations1",
+ "name": "reservationRecommendations1",
+ "type": "Microsoft.Consumption/reservationRecommendations",
+ "sku": "Standard_DS1_v2",
+ "location": "northeurope",
+ "kind": "legacy",
+ "properties": {
+ "lookBackPeriod": "Last7Days",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "term": "P1Y",
+ "costWithNoReservedInstances": 0.0,
+ "recommendedQuantity": 1,
+ "totalCostWithReservedInstances": 0.0,
+ "netSavings": 4.634521202630137,
+ "firstUsageDate": "2018-03-06T00:00:00Z",
+ "scope": "Single",
+ "skuProperties": [
+ {
+ "name": "Cores",
+ "value": "1"
+ },
+ {
+ "name": "Ram",
+ "value": "1"
+ }
+ ]
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationRecommendations/reservationRecommendations2",
+ "name": "reservationRecommendations2",
+ "type": "Microsoft.Consumption/reservationRecommendations",
+ "sku": "Standard_DS1_v2",
+ "location": "northeurope",
+ "kind": "legacy",
+ "properties": {
+ "lookBackPeriod": "Last7Days",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "term": "P3Y",
+ "costWithNoReservedInstances": 0.0,
+ "recommendedQuantity": 1,
+ "totalCostWithReservedInstances": 0.0,
+ "netSavings": 7.2893157231780812,
+ "firstUsageDate": "2018-03-06T00:00:00Z",
+ "scope": "Single",
+ "skuProperties": [
+ {
+ "name": "SkuDisplayName",
+ "value": "B"
+ },
+ {
+ "name": "CPU",
+ "value": "1"
+ }
+ ]
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationRecommendations?api-version=2021-05-01&$filter=properties/scope+eq+'Single'+AND+properties/lookBackPeriod+eq+'Last7Days'&$skiptoken=AQAAAA%3D%3D&"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesDaily.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesDaily.json
new file mode 100644
index 000000000000..26b226eddf83
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesDaily.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "grain": "daily",
+ "$filter": "properties/usageDate ge 2017-10-01 AND properties/usageDate le 2017-11-20"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Capacity/reservationOrders/00000000-0000-0000-0000-000000000000/reservations/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationSummaries/20171001",
+ "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000_20171001",
+ "type": "Microsoft.Consumption/reservationSummaries",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "skuName": "Standard_D8s_v3",
+ "kind": "Reservation",
+ "reservedHours": 0.0,
+ "usageDate": "2017-10-01T00:00:00Z",
+ "usedHours": 0.0,
+ "minUtilizationPercentage": 0.0,
+ "avgUtilizationPercentage": 0.0,
+ "maxUtilizationPercentage": 0.0,
+ "purchasedQuantity": 0,
+ "remainingQuantity": 0,
+ "totalReservedQuantity": 155,
+ "usedQuantity": 0,
+ "utilizedPercentage": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesDailyWithBillingAccountId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesDailyWithBillingAccountId.json
new file mode 100644
index 000000000000..fe7cacb30d3e
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesDailyWithBillingAccountId.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345",
+ "grain": "daily",
+ "$filter": "properties/usageDate ge 2017-10-01 AND properties/usageDate le 2017-11-20"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/12345/providers/Microsoft.Consumption/reservationSummaries/reservationSummaries_Id1",
+ "name": "reservationSummaries_Id1",
+ "type": "Microsoft.Consumption/reservationSummaries",
+ "tags": null,
+ "properties": {
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "skuName": "Standard_B1s",
+ "reservedHours": 720,
+ "usageDate": "2018-09-01T00:00:00-07:00",
+ "usedHours": 0,
+ "minUtilizationPercentage": 0,
+ "avgUtilizationPercentage": 0,
+ "maxUtilizationPercentage": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesDailyWithBillingProfileId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesDailyWithBillingProfileId.json
new file mode 100644
index 000000000000..33c337b71a4e
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesDailyWithBillingProfileId.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579",
+ "grain": "daily",
+ "startDate": "2017-10-01",
+ "endDate": "2017-11-20"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579/providers/Microsoft.Consumption/reservationSummaries/reservationSummaries_Id1",
+ "name": "reservationSummaries_Id1",
+ "type": "Microsoft.Consumption/reservationSummaries",
+ "tags": null,
+ "properties": {
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "skuName": "Standard_B1s",
+ "reservedHours": 720,
+ "usageDate": "2018-09-01T00:00:00-07:00",
+ "usedHours": 0,
+ "minUtilizationPercentage": 0,
+ "avgUtilizationPercentage": 0,
+ "maxUtilizationPercentage": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesDailyWithReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesDailyWithReservationId.json
new file mode 100644
index 000000000000..8d78b546686c
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesDailyWithReservationId.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "grain": "daily",
+ "$filter": "properties/usageDate ge 2017-10-01 AND properties/usageDate le 2017-11-20"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Capacity/reservationOrders/00000000-0000-0000-0000-000000000000/reservations/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationSummaries/20171001",
+ "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000_20171001",
+ "type": "Microsoft.Consumption/reservationSummaries",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "skuName": "Standard_D8s_v3",
+ "kind": "Reservation",
+ "reservedHours": 0.0,
+ "usageDate": "2017-10-01T00:00:00Z",
+ "usedHours": 0.0,
+ "minUtilizationPercentage": 0.0,
+ "avgUtilizationPercentage": 0.0,
+ "maxUtilizationPercentage": 0.0,
+ "purchasedQuantity": 0,
+ "remainingQuantity": 0,
+ "totalReservedQuantity": 155,
+ "usedQuantity": 0,
+ "utilizedPercentage": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesMonthly.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesMonthly.json
new file mode 100644
index 000000000000..4453e7a3c6b1
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesMonthly.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "grain": "monthly"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Capacity/reservationOrders/00000000-0000-0000-0000-000000000000/reservations/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationSummaries/20171001",
+ "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000_20171001",
+ "type": "Microsoft.Consumption/reservationSummaries",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "skuName": "Standard_D8s_v3",
+ "kind": "Reservation",
+ "reservedHours": 0.0,
+ "usageDate": "2017-10-01T00:00:00Z",
+ "usedHours": 0.0,
+ "minUtilizationPercentage": 0.0,
+ "avgUtilizationPercentage": 0.0,
+ "maxUtilizationPercentage": 0.0,
+ "purchasedQuantity": 0,
+ "remainingQuantity": 0,
+ "totalReservedQuantity": 155,
+ "usedQuantity": 0,
+ "utilizedPercentage": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesMonthlyWithBillingAccountId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesMonthlyWithBillingAccountId.json
new file mode 100644
index 000000000000..2954e2887bd0
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesMonthlyWithBillingAccountId.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345",
+ "grain": "monthly"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/12345/providers/Microsoft.Consumption/reservationSummaries/reservationSummaries_Id1",
+ "name": "reservationSummaries_Id1",
+ "type": "Microsoft.Consumption/reservationSummaries",
+ "tags": null,
+ "properties": {
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "skuName": "Standard_B1s",
+ "reservedHours": 720,
+ "usageDate": "2018-09-01T00:00:00-07:00",
+ "usedHours": 0,
+ "minUtilizationPercentage": 0,
+ "avgUtilizationPercentage": 0,
+ "maxUtilizationPercentage": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesMonthlyWithBillingProfileId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesMonthlyWithBillingProfileId.json
new file mode 100644
index 000000000000..230f7f969082
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesMonthlyWithBillingProfileId.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579",
+ "grain": "monthly"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579/providers/Microsoft.Consumption/reservationSummaries/reservationSummaries_Id1",
+ "name": "reservationSummaries_Id1",
+ "type": "Microsoft.Consumption/reservationSummaries",
+ "tags": null,
+ "properties": {
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "skuName": "Standard_B1s",
+ "reservedHours": 720,
+ "usageDate": "2018-09-01T00:00:00-07:00",
+ "usedHours": 0,
+ "minUtilizationPercentage": 0,
+ "avgUtilizationPercentage": 0,
+ "maxUtilizationPercentage": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesMonthlyWithBillingProfileIdReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesMonthlyWithBillingProfileIdReservationId.json
new file mode 100644
index 000000000000..c8f562720f51
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesMonthlyWithBillingProfileIdReservationId.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579",
+ "grain": "monthly",
+ "reservationId": "1c6b6358-709f-484c-85f1-72e862a0cf3b",
+ "reservationOrderId": "9f39ba10-794f-4dcb-8f4b-8d0cb47c27dc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579/providers/Microsoft.Consumption/reservationSummaries/reservationSummaries_Id1",
+ "name": "reservationSummaries_Id1",
+ "type": "Microsoft.Consumption/reservationSummaries",
+ "tags": null,
+ "properties": {
+ "reservationOrderId": "9f39ba10-794f-4dcb-8f4b-8d0cb47c27dc",
+ "reservationId": "1c6b6358-709f-484c-85f1-72e862a0cf3b",
+ "skuName": "Standard_B1s",
+ "reservedHours": 720,
+ "usageDate": "2018-09-01T00:00:00-07:00",
+ "usedHours": 0,
+ "minUtilizationPercentage": 0,
+ "avgUtilizationPercentage": 0,
+ "maxUtilizationPercentage": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesMonthlyWithReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesMonthlyWithReservationId.json
new file mode 100644
index 000000000000..8d9c190aeeca
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationSummariesMonthlyWithReservationId.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "grain": "monthly"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Capacity/reservationOrders/00000000-0000-0000-0000-000000000000/reservations/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationSummaries/20171001",
+ "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000_20171001",
+ "type": "Microsoft.Consumption/reservationSummaries",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "skuName": "Standard_D8s_v3",
+ "kind": "Reservation",
+ "reservedHours": 0.0,
+ "usageDate": "2017-10-01T00:00:00Z",
+ "usedHours": 0.0,
+ "minUtilizationPercentage": 0.0,
+ "avgUtilizationPercentage": 0.0,
+ "maxUtilizationPercentage": 0.0,
+ "purchasedQuantity": 0,
+ "remainingQuantity": 0,
+ "totalReservedQuantity": 155,
+ "usedQuantity": 0,
+ "utilizedPercentage": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationTransactionsListByBillingProfileId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationTransactionsListByBillingProfileId.json
new file mode 100644
index 000000000000..b925a92a0214
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationTransactionsListByBillingProfileId.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "$filter": "properties/eventDate+ge+2020-05-20+AND+properties/eventDate+le+2020-05-30",
+ "billingAccountId": "fcebaabc-fced-4284-a83d-79f83dee183c:45796ba8-988f-45ad-bea9-7b71fc6c7513_2018-09-30",
+ "billingProfileId": "Z76D-SGAF-BG7-TGB"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/fcebaabc-fced-4284-a83d-79f83dee183c:45796ba8-988f-45ad-bea9-7b71fc6c7513_2018-09-30/billingProfiles/Z76D-SGAF-BG7-TGB/providers/Microsoft.Consumption/reservationTransactions",
+ "name": "a838a8c3-a408-49e1-ac90-42cb95bff9b2",
+ "type": "Microsoft.Consumption/reservationTransactions",
+ "properties": {
+ "eventDate": "2020-04-25T21:21:38Z",
+ "reservationOrderId": "a838a8c3-a408-49e1-ac90-42cb95bff9b2",
+ "description": "Reserved VM Instance, Standard_B1ls, US East, 3 Years",
+ "eventType": "Purchase",
+ "quantity": 1,
+ "amount": 1.44,
+ "currency": "USD",
+ "reservationOrderName": "VM_RI_03-25-2020_14-18",
+ "armSkuName": "Standard_B1ls",
+ "billingFrequency": "Recurring",
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/fcebaabc-fced-4284-a83d-79f83dee183c:45796ba8-988f-45ad-bea9-7b71fc6c7513_2018-09-30/billingProfiles/Z76D-SGAF-BG7-TGB",
+ "billingProfileName": "IT Department*",
+ "invoice": "T000456437",
+ "invoiceId": "/providers/Microsoft.Billing/billingAccounts/fcebaabc-fced-4284-a83d-79f83dee183c:45796ba8-988f-45ad-bea9-7b71fc6c7513_2018-09-30/billingProfiles/Z76D-SGAF-BG7-TGB/invoices/T000456437",
+ "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/fcebaabc-fced-4284-a83d-79f83dee183c:45796ba8-988f-45ad-bea9-7b71fc6c7513_2018-09-30/invoiceSections/QBTB-EYAK-PJA-TGB",
+ "invoiceSectionName": "IT Department",
+ "purchasingSubscriptionGuid": "d924ad15-4a3d-4047-971d-c8b1b300a97b",
+ "purchasingSubscriptionName": "contoso",
+ "region": "eastus",
+ "term": "P3Y"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationTransactionsListByEnrollmentNumber.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationTransactionsListByEnrollmentNumber.json
new file mode 100644
index 000000000000..9e2bfc259508
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/ReservationTransactionsListByEnrollmentNumber.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "$filter": "properties/eventDate+ge+2020-05-20+AND+properties/eventDate+le+2020-05-30",
+ "billingAccountId": "123456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/billingAccounts/123456/providers/Microsoft.Consumption/reservationtransactions/201909091919",
+ "name": "201909091919",
+ "type": "Microsoft.Consumption/reservationTransactions",
+ "tags": [],
+ "properties": {
+ "eventDate": "2019-09-09T19:19:04Z",
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "description": "Standard_DS1_v2 westus 1 Year",
+ "eventType": "Cancel",
+ "quantity": 1,
+ "amount": -21.000000000000000,
+ "currency": "USD",
+ "reservationOrderName": "Transaction-DS1_v2",
+ "purchasingEnrollment": "123456",
+ "armSkuName": "Standard_DS1_v2",
+ "term": "P1Y",
+ "region": "westus",
+ "purchasingSubscriptionGuid": "11111111-1111-1111-1111-11111111111",
+ "purchasingSubscriptionName": "Infrastructure Subscription",
+ "accountName": "Microsoft Infrastructure",
+ "accountOwnerEmail": "admin@microsoft.com",
+ "departmentName": "Unassigned",
+ "costCenter": "",
+ "currentEnrollment": "123456",
+ "billingFrequency": "recurring"
+ }
+ },
+ {
+ "id": "/billingAccounts/123456/providers/Microsoft.Consumption/reservationtransactions/201909091919",
+ "name": "201909091919",
+ "type": "Microsoft.Consumption/reservationTransactions",
+ "tags": [],
+ "properties": {
+ "eventDate": "2019-09-09T19:19:04Z",
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "description": "Standard_DS1_v2 westus 1 Year",
+ "eventType": "Purchase",
+ "quantity": 1,
+ "amount": 21.000000000000000,
+ "currency": "USD",
+ "reservationOrderName": "Transaction-DS1_v2",
+ "purchasingEnrollment": "123456",
+ "armSkuName": "Standard_DS1_v2",
+ "term": "P1Y",
+ "region": "westus",
+ "purchasingSubscriptionGuid": "11111111-1111-1111-1111-11111111111",
+ "purchasingSubscriptionName": "Infrastructure Subscription",
+ "accountName": "Microsoft Infrastructure",
+ "accountOwnerEmail": "admin@microsoft.com",
+ "departmentName": "Unassigned",
+ "costCenter": "",
+ "currentEnrollment": "123456",
+ "billingFrequency": "recurring"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/Tags.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/Tags.json
new file mode 100644
index 000000000000..9ccf2be6db1f
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/Tags.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "billingAccountId": "12345",
+ "scope": "providers/Microsoft.CostManagement/billingAccounts/1234"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.CostManagement/billingAccounts/{billingaccount-id}/providers/Microsoft.Consumption/tags/tags1",
+ "name": "tags1",
+ "type": "Microsoft.Consumption/tags",
+ "eTag": "\"1d34d012214157f\"",
+ "properties": {
+ "tags": [
+ {
+ "key": "Department"
+ },
+ {
+ "key": "CostCenter"
+ },
+ {
+ "key": "Portal"
+ },
+ {
+ "key": "OrgName"
+ },
+ {
+ "key": "Namespace"
+ },
+ {
+ "key": "resourceType"
+ },
+ {
+ "key": "Subsystem"
+ },
+ {
+ "key": "Environment"
+ },
+ {
+ "key": "clusterName"
+ }
+ ],
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingaccount-id}/providers/Microsoft.Consumption/tags/?$expand=properties/tags/value&api-version=2021-05-01&startDate=2020-12-01&endDate=2020-12-31&$top=1000&$skiptoken=AwAAAA%3D%3D",
+ "previousLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingaccount-id}/providers/Microsoft.Consumption/tags/?$expand=properties/tags/value&api-version=2021-05-01&startDate=2020-12-01&endDate=2020-12-31&$top=1000&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsExpand.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsExpand.json
new file mode 100644
index 000000000000..02d280745f4c
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsExpand.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "billingPeriodName": "201903",
+ "$expand": "meterDetails,additionalInfo",
+ "$filter": "tags eq 'dev:tools'",
+ "$top": 1
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "kind": "legacy",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 1",
+ "accountName": "Account Name 1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": {
+ "meterName": "Data Transfer Out (GB)",
+ "meterCategory": "Networking",
+ "meterSubCategory": "ExpressRoute",
+ "unitOfMeasure": "GB",
+ "serviceFamily": "Compute"
+ },
+ "quantity": 0.8234,
+ "effectivePrice": 0.010464556322455,
+ "cost": 0.000342194841184,
+ "unitPrice": 3.54,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "resourceName": "Resource Name 1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage",
+ "frequency": "UsageBased",
+ "additionalInfo": "{\"MyType\":\"\",\"ServiceType\":\"\",\"VMName\":\"\",\"UsageType\":\"MyUsage\"}"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsList.json
new file mode 100644
index 000000000000..f112c83a4938
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsList.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "billingPeriodName": "201903"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "kind": "legacy",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Customer Name 1",
+ "billingPeriodStartDate": "2019-04-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-04-30T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Customer Name 1",
+ "accountName": "AccountName",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "SubscriptionName 1",
+ "date": "2019-04-09T00:00:00.0000000Z",
+ "product": "Product1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.000036,
+ "effectivePrice": 0.054693034210767,
+ "cost": 0.000001980949998,
+ "unitPrice": 5.47,
+ "billingCurrency": "CAD",
+ "resourceLocation": "uswest",
+ "consumedService": "Microsoft.ClassicStorage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource-Group-westus/providers/Microsoft.ClassicStorage/storageAccounts/ResourceName1",
+ "resourceName": "ResourceName1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "BAS",
+ "resourceGroup": "Resource-Group-westus",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage",
+ "frequency": "UsageBased"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByBillingAccount.json
new file mode 100644
index 000000000000..723710d00211
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByBillingAccount.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01-preview",
+ "scope": "providers/Microsoft.Billing/BillingAccounts/1234",
+ "billingPeriodName": "201903"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "kind": "legacy",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 1",
+ "accountName": "Account Name 1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.7329,
+ "effectivePrice": 0.000402776395232,
+ "cost": 0.000295194820065,
+ "unitPrice": 4.38,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "resourceName": "Resource Name 1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByDepartment.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByDepartment.json
new file mode 100644
index 000000000000..3bdd774d88a0
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByDepartment.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/Departments/1234",
+ "billingPeriodName": "201903"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/Departments/1234/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "kind": "legacy",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 1",
+ "accountName": "Account Name 1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.7329,
+ "effectivePrice": 0.000402776395232,
+ "cost": 0.000295194820065,
+ "unitPrice": 4.38,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "resourceName": "Resource Name 1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByEnrollmentAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByEnrollmentAccount.json
new file mode 100644
index 000000000000..4aab1de03dc3
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByEnrollmentAccount.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/EnrollmentAccounts/1234",
+ "billingPeriodName": "201903"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/EnrollmentAccounts/1234/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "kind": "legacy",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 1",
+ "accountName": "Account Name 1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.7329,
+ "effectivePrice": 0.000402776395232,
+ "cost": 0.000295194820065,
+ "unitPrice": 4.38,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "resourceName": "Resource Name 1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByMCABillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByMCABillingAccount.json
new file mode 100644
index 000000000000..d28b2bf6a49f
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByMCABillingAccount.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/BillingAccounts/1234:56789"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234:56789/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "kind": "modern",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "1234:56789",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2021-05-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-10-31T00:00:00.0000000Z",
+ "billingProfileId": "2468",
+ "billingProfileName": "Account Name 1",
+ "subscriptionGuid": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-10-30T00:00:00.0000000Z",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "quantity": 0.7329,
+ "unitPrice": 4.38,
+ "billingCurrencyCode": "USD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "instanceName": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "invoiceSectionId": "98765",
+ "invoiceSectionName": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage",
+ "additionalInfo": "{ \"UsageType\": \"ComputeHR\", \"ImageType\": \"Windows Client BYOL\", \"ServiceType\": \"Standard_D1\", \"VMName\": null, \"VMProperties\": null, \"VCPUs\": 1, \"CPUs\": 0}",
+ "costInBillingCurrency": 1.84763819095477,
+ "costInPricingCurrency": 1.84763819095477,
+ "exchangeRate": "1",
+ "exchangeRateDate": "2021-05-01T00:00:00Z",
+ "invoiceId": "",
+ "previousInvoiceId": "",
+ "pricingCurrencyCode": "USD",
+ "product": "Virtual Machines D Series - D1 - US East",
+ "productIdentifier": "DZH318Z0BQ4B00FV",
+ "productOrderId": "a3db7880-70eb-4b4c-6a79-1425a058df5a",
+ "productOrderName": "Azure plan",
+ "publisherName": "Microsoft",
+ "publisherType": "1PP",
+ "resourceLocationNormalized": "US East",
+ "serviceInfo1": "",
+ "serviceInfo2": "Windows Client BYOL",
+ "servicePeriodEndDate": "2019-12-01T00:00:00Z",
+ "servicePeriodStartDate": "2021-05-01T00:00:00Z",
+ "customerTenantId": "00000000-0000-0000-0000-000000000000",
+ "customerName": "Modern Azure Customer 1",
+ "partnerTenantId": "00000000-0000-0000-0000-000000000000",
+ "partnerName": "Partner Name 1",
+ "resellerMpnId": "",
+ "resellerName": "Reseller Name 1",
+ "publisherId": "",
+ "reservationId": "",
+ "reservationName": "",
+ "frequency": "UsageBased",
+ "term": "",
+ "marketPrice": 0.077,
+ "costInUSD": 1.84763819095477,
+ "paygCostInBillingCurrency": 1.848,
+ "paygCostInUSD": 1.848,
+ "exchangeRatePricingToBilling": 0.077,
+ "partnerEarnedCreditRate": 0.077,
+ "partnerEarnedCreditApplied": "0"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByMCABillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByMCABillingProfile.json
new file mode 100644
index 000000000000..4341b93e62ee
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByMCABillingProfile.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/BillingAccounts/1234:56789/billingProfiles/2468"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234:56789/billingProfiles/2468/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "kind": "modern",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "1234:56789",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2021-05-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-10-31T00:00:00.0000000Z",
+ "billingProfileId": "2468",
+ "billingProfileName": "Account Name 1",
+ "subscriptionGuid": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-10-30T00:00:00.0000000Z",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "quantity": 0.7329,
+ "unitPrice": 4.38,
+ "billingCurrencyCode": "USD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "instanceName": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "invoiceSectionId": "98765",
+ "invoiceSectionName": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage",
+ "additionalInfo": "{ \"UsageType\": \"ComputeHR\", \"ImageType\": \"Windows Client BYOL\", \"ServiceType\": \"Standard_D1\", \"VMName\": null, \"VMProperties\": null, \"VCPUs\": 1, \"CPUs\": 0}",
+ "costInBillingCurrency": 1.84763819095477,
+ "costInPricingCurrency": 1.84763819095477,
+ "exchangeRate": "1",
+ "exchangeRateDate": "2021-05-01T00:00:00Z",
+ "invoiceId": "",
+ "previousInvoiceId": "",
+ "pricingCurrencyCode": "USD",
+ "product": "Virtual Machines D Series - D1 - US East",
+ "productIdentifier": "DZH318Z0BQ4B00FV",
+ "productOrderId": "a3db7880-70eb-4b4c-6a79-1425a058df5a",
+ "productOrderName": "Azure plan",
+ "publisherName": "Microsoft",
+ "publisherType": "1PP",
+ "resourceLocationNormalized": "US East",
+ "serviceInfo1": "",
+ "serviceInfo2": "Windows Client BYOL",
+ "servicePeriodEndDate": "2019-12-01T00:00:00Z",
+ "servicePeriodStartDate": "2021-05-01T00:00:00Z",
+ "customerTenantId": "00000000-0000-0000-0000-000000000000",
+ "customerName": "Modern Azure Customer 1",
+ "partnerTenantId": "00000000-0000-0000-0000-000000000000",
+ "partnerName": "Partner Name 1",
+ "resellerMpnId": "",
+ "resellerName": "Reseller Name 1",
+ "publisherId": "",
+ "reservationId": "",
+ "reservationName": "",
+ "frequency": "UsageBased",
+ "term": "",
+ "marketPrice": 0.077,
+ "costInUSD": 1.84763819095477,
+ "paygCostInBillingCurrency": 1.848,
+ "paygCostInUSD": 1.848,
+ "exchangeRatePricingToBilling": 0.077,
+ "partnerEarnedCreditRate": 0.077,
+ "partnerEarnedCreditApplied": "0"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByMCACustomer.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByMCACustomer.json
new file mode 100644
index 000000000000..b0149a6908db
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByMCACustomer.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/BillingAccounts/1234:56789/customers/00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234:56789/customers/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "kind": "modern",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "1234:56789",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2021-05-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-10-31T00:00:00.0000000Z",
+ "billingProfileId": "2468",
+ "billingProfileName": "Account Name 1",
+ "subscriptionGuid": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-10-30T00:00:00.0000000Z",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "quantity": 0.7329,
+ "unitPrice": 4.38,
+ "billingCurrencyCode": "USD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "instanceName": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "invoiceSectionId": "98765",
+ "invoiceSectionName": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage",
+ "additionalInfo": "{ \"UsageType\": \"ComputeHR\", \"ImageType\": \"Windows Client BYOL\", \"ServiceType\": \"Standard_D1\", \"VMName\": null, \"VMProperties\": null, \"VCPUs\": 1, \"CPUs\": 0}",
+ "costInBillingCurrency": 1.84763819095477,
+ "costInPricingCurrency": 1.84763819095477,
+ "exchangeRate": "1",
+ "exchangeRateDate": "2021-05-01T00:00:00Z",
+ "invoiceId": "",
+ "previousInvoiceId": "",
+ "pricingCurrencyCode": "USD",
+ "product": "Virtual Machines D Series - D1 - US East",
+ "productIdentifier": "DZH318Z0BQ4B00FV",
+ "productOrderId": "a3db7880-70eb-4b4c-6a79-1425a058df5a",
+ "productOrderName": "Azure plan",
+ "publisherName": "Microsoft",
+ "publisherType": "1PP",
+ "resourceLocationNormalized": "US East",
+ "serviceInfo1": "",
+ "serviceInfo2": "Windows Client BYOL",
+ "servicePeriodEndDate": "2019-12-01T00:00:00Z",
+ "servicePeriodStartDate": "2021-05-01T00:00:00Z",
+ "customerTenantId": "00000000-0000-0000-0000-000000000000",
+ "customerName": "Modern Azure Customer 1",
+ "partnerTenantId": "00000000-0000-0000-0000-000000000000",
+ "partnerName": "Partner Name 1",
+ "resellerMpnId": "",
+ "resellerName": "Reseller Name 1",
+ "publisherId": "",
+ "reservationId": "",
+ "reservationName": "",
+ "frequency": "UsageBased",
+ "term": "",
+ "marketPrice": 0.077,
+ "costInUSD": 1.84763819095477,
+ "paygCostInBillingCurrency": 1.848,
+ "paygCostInUSD": 1.848,
+ "exchangeRatePricingToBilling": 0.077,
+ "partnerEarnedCreditRate": 0.077,
+ "partnerEarnedCreditApplied": "0"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByMCAInvoiceSection.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByMCAInvoiceSection.json
new file mode 100644
index 000000000000..f3134c8dd55d
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByMCAInvoiceSection.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/BillingAccounts/1234:56789/invoiceSections/98765"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234:56789/invoiceSections/98765/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "kind": "modern",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "1234:56789",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2021-05-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-10-31T00:00:00.0000000Z",
+ "billingProfileId": "2468",
+ "billingProfileName": "Account Name 1",
+ "subscriptionGuid": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-10-30T00:00:00.0000000Z",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "quantity": 0.7329,
+ "unitPrice": 4.38,
+ "billingCurrencyCode": "USD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "instanceName": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "invoiceSectionId": "98765",
+ "invoiceSectionName": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage",
+ "additionalInfo": "{ \"UsageType\": \"ComputeHR\", \"ImageType\": \"Windows Client BYOL\", \"ServiceType\": \"Standard_D1\", \"VMName\": null, \"VMProperties\": null, \"VCPUs\": 1, \"CPUs\": 0}",
+ "costInBillingCurrency": 1.84763819095477,
+ "costInPricingCurrency": 1.84763819095477,
+ "exchangeRate": "1",
+ "exchangeRateDate": "2021-05-01T00:00:00Z",
+ "invoiceId": "",
+ "previousInvoiceId": "",
+ "pricingCurrencyCode": "USD",
+ "product": "Virtual Machines D Series - D1 - US East",
+ "productIdentifier": "DZH318Z0BQ4B00FV",
+ "productOrderId": "a3db7880-70eb-4b4c-6a79-1425a058df5a",
+ "productOrderName": "Azure plan",
+ "publisherName": "Microsoft",
+ "publisherType": "1PP",
+ "resourceLocationNormalized": "US East",
+ "serviceInfo1": "",
+ "serviceInfo2": "Windows Client BYOL",
+ "servicePeriodEndDate": "2019-12-01T00:00:00Z",
+ "servicePeriodStartDate": "2021-05-01T00:00:00Z",
+ "customerTenantId": "00000000-0000-0000-0000-000000000000",
+ "customerName": "Modern Azure Customer 1",
+ "partnerTenantId": "00000000-0000-0000-0000-000000000000",
+ "partnerName": "Partner Name 1",
+ "resellerMpnId": "",
+ "resellerName": "Reseller Name 1",
+ "publisherId": "",
+ "reservationId": "",
+ "reservationName": "",
+ "frequency": "UsageBased",
+ "term": "",
+ "marketPrice": 0.077,
+ "costInUSD": 1.84763819095477,
+ "paygCostInBillingCurrency": 1.848,
+ "paygCostInUSD": 1.848,
+ "exchangeRatePricingToBilling": 0.077,
+ "partnerEarnedCreditRate": 0.077,
+ "partnerEarnedCreditApplied": "0"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByManagementGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByManagementGroup.json
new file mode 100644
index 000000000000..a2f7f4cbcd28
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByManagementGroup.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "managementGroupId": "managementGroupForTest",
+ "billingPeriodName": "201903",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "kind": "legacy",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 1",
+ "accountName": "Account Name 1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.8234,
+ "effectivePrice": 0.010534556373432,
+ "cost": 0.000342194841184,
+ "unitPrice": 3.74,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "resourceName": "Resource Name 1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ },
+ {
+ "id": "/scope/providers/Microsoft.Billing/billingPeriods/20180801/providers/Microsoft.Consumption/usageDetails/usageDetails_Id2",
+ "name": "usageDetails_Id2",
+ "type": "Microsoft.Consumption/usageDetails",
+ "kind": "legacy",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 2",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 2",
+ "accountName": "Account Name 1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 2",
+ "partNumber": "Part Number 2",
+ "meterId": "11111111-1111-1111-1111-111111111111",
+ "meterDetails": null,
+ "quantity": 0.7329,
+ "effectivePrice": 0.000402776395232,
+ "cost": 0.000295194820065,
+ "unitPrice": 4.38,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 2/providers/Microsoft.Storage/storageAccounts/Resource Name 2",
+ "resourceName": "Resource Name 2",
+ "invoiceSection": "Invoice Section 2",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 2",
+ "offerId": "Offer Id 2",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByMetricActualCost.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByMetricActualCost.json
new file mode 100644
index 000000000000..61fcb754698f
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByMetricActualCost.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "metric": "actualcost",
+ "billingPeriodName": "201903"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "kind": "legacy",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Customer Name 1",
+ "billingPeriodStartDate": "2019-04-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-04-30T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Customer Name 1",
+ "accountName": "AccountName",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "SubscriptionName 1",
+ "date": "2019-04-09T00:00:00.0000000Z",
+ "product": "Product1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.000036,
+ "effectivePrice": 0.054693055510767,
+ "cost": 0.000001968949998,
+ "unitPrice": 5.47,
+ "billingCurrency": "CAD",
+ "resourceLocation": "uswest",
+ "consumedService": "Microsoft.ClassicStorage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource-Group-westus/providers/Microsoft.ClassicStorage/storageAccounts/ResourceName1",
+ "resourceName": "ResourceName1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "BAS",
+ "resourceGroup": "Resource-Group-westus",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByMetricAmortizedCost.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByMetricAmortizedCost.json
new file mode 100644
index 000000000000..5e5cfdcbba2b
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByMetricAmortizedCost.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "metric": "amortizedcost",
+ "billingPeriodName": "201903"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "kind": "legacy",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Customer Name 1",
+ "billingPeriodStartDate": "2019-04-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-04-30T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Customer Name 1",
+ "accountName": "AccountName",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "SubscriptionName 1",
+ "date": "2019-04-09T00:00:00.0000000Z",
+ "product": "Product1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.000036,
+ "effectivePrice": 0.054693055510767,
+ "cost": 0.000001968949998,
+ "unitPrice": 5.47,
+ "billingCurrency": "CAD",
+ "resourceLocation": "uswest",
+ "consumedService": "Microsoft.ClassicStorage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource-Group-westus/providers/Microsoft.ClassicStorage/storageAccounts/ResourceName1",
+ "resourceName": "ResourceName1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "BAS",
+ "resourceGroup": "Resource-Group-westus",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage",
+ "frequency": "UsageBased"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByMetricUsage.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByMetricUsage.json
new file mode 100644
index 000000000000..c6f4f078a56d
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListByMetricUsage.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "metric": "usage",
+ "billingPeriodName": "201903"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "kind": "legacy",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Customer Name 1",
+ "billingPeriodStartDate": "2019-04-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-04-30T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Customer Name 1",
+ "accountName": "AccountName",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "SubscriptionName 1",
+ "date": "2019-04-09T00:00:00.0000000Z",
+ "product": "Product1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.000036,
+ "effectivePrice": 0.054693055510767,
+ "cost": 0.000001968949998,
+ "unitPrice": 5.47,
+ "billingCurrency": "CAD",
+ "resourceLocation": "uswest",
+ "consumedService": "Microsoft.ClassicStorage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource-Group-westus/providers/Microsoft.ClassicStorage/storageAccounts/ResourceName1",
+ "resourceName": "ResourceName1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "BAS",
+ "resourceGroup": "Resource-Group-westus",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListFilterByTag.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListFilterByTag.json
new file mode 100644
index 000000000000..56b17b4e360e
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListFilterByTag.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "$filter": "tags eq 'dev:tools'",
+ "billingPeriodName": "201903"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "kind": "legacy",
+ "tags": {
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 1",
+ "accountName": "Account Name 1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.8234,
+ "effectivePrice": 0.010534556373432,
+ "cost": 0.000342194841184,
+ "unitPrice": 3.74,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "resourceName": "Resource Name 1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListForBillingPeriod.json
new file mode 100644
index 000000000000..09b6f2ab1bfd
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListForBillingPeriod.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "billingPeriodName": "201903"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "kind": "legacy",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 1",
+ "accountName": "Account Name 1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.8234,
+ "effectivePrice": 0.010534556373432,
+ "cost": 0.000342194841184,
+ "unitPrice": 3.74,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "resourceName": "Resource Name 1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListForBillingPeriodByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListForBillingPeriodByBillingAccount.json
new file mode 100644
index 000000000000..ae7240b71ba8
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListForBillingPeriodByBillingAccount.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/BillingAccounts/1234",
+ "billingPeriodName": "201903"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "kind": "legacy",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 1",
+ "accountName": "Account Name 1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.8234,
+ "effectivePrice": 0.010534556373432,
+ "cost": 0.000342194841184,
+ "unitPrice": 3.74,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "resourceName": "Resource Name 1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListForBillingPeriodByDepartment.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListForBillingPeriodByDepartment.json
new file mode 100644
index 000000000000..2399d177f671
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListForBillingPeriodByDepartment.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/Departments/1234",
+ "billingPeriodName": "201903"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/Departments/1234/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "kind": "legacy",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 1",
+ "accountName": "Account Name 1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.8234,
+ "effectivePrice": 0.010534556373432,
+ "cost": 0.000342194841184,
+ "unitPrice": 3.74,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "resourceName": "Resource Name 1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListForBillingPeriodByEnrollmentAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListForBillingPeriodByEnrollmentAccount.json
new file mode 100644
index 000000000000..d6d2a1cb9b16
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListForBillingPeriodByEnrollmentAccount.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "scope": "providers/Microsoft.Billing/EnrollmentAccounts/1234",
+ "billingPeriodName": "201903"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/EnrollmentAccounts/1234/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "kind": "legacy",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 1",
+ "accountName": "Account Name 1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.8234,
+ "effectivePrice": 0.010534556373432,
+ "cost": 0.000342194841184,
+ "unitPrice": 3.74,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "resourceName": "Resource Name 1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListForBillingPeriodByManagementGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListForBillingPeriodByManagementGroup.json
new file mode 100644
index 000000000000..e32f47cf7e81
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/UsageDetailsListForBillingPeriodByManagementGroup.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "managementGroupId": "managementGroupForTest",
+ "billingPeriodName": "201903",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201903/providers/Microsoft.Consumption/usageDetails/usageDetails_Id1",
+ "name": "usageDetails_Id1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "kind": "legacy",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 1",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 1",
+ "accountName": "Account Name 1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 1",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 1",
+ "partNumber": "Part Number 1",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": null,
+ "quantity": 0.8234,
+ "effectivePrice": 0.010534556373432,
+ "cost": 0.000342194841184,
+ "unitPrice": 3.74,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 1/providers/Microsoft.Storage/storageAccounts/Resource Name 1",
+ "resourceName": "Resource Name 1",
+ "invoiceSection": "Invoice Section 1",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 1",
+ "offerId": "Offer Id 1",
+ "isAzureCreditEligible": false,
+ "chargeType": "Usage"
+ }
+ },
+ {
+ "id": "/scope/providers/Microsoft.Billing/billingPeriods/billingPeriodName/providers/Microsoft.Consumption/usageDetails/usageDetails_Id2",
+ "name": "usageDetails_Id2",
+ "type": "Microsoft.Consumption/usageDetails",
+ "kind": "legacy",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingAccountId": "xxxxxxxx",
+ "billingAccountName": "Account Name 2",
+ "billingPeriodStartDate": "2019-03-01T00:00:00.0000000Z",
+ "billingPeriodEndDate": "2019-03-31T00:00:00.0000000Z",
+ "billingProfileId": "xxxxxxxx",
+ "billingProfileName": "Account Name 2",
+ "accountName": "Account Name 2",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Subscription Name 2",
+ "date": "2019-03-30T00:00:00.0000000Z",
+ "product": "Product Name 2",
+ "partNumber": "Part Number 2",
+ "meterId": "11111111-1111-1111-1111-111111111111",
+ "meterDetails": null,
+ "quantity": 0.4759,
+ "effectivePrice": 0.073488920944598,
+ "cost": 0.000821821271948,
+ "unitPrice": 5.74,
+ "billingCurrency": "CAD",
+ "resourceLocation": "USEast",
+ "consumedService": "Microsoft.Storage",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Resource Group 2/providers/Microsoft.Storage/storageAccounts/Resource Name 2",
+ "resourceName": "Resource Name 2",
+ "invoiceSection": "Invoice Section 2",
+ "costCenter": "DEV",
+ "resourceGroup": "Resource Group 2",
+ "offerId": "Offer Id 2",
+ "isAzureCreditEligible": false,
+ "chargeType": "UnusedReservation"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/readme.azureresourceschema.md b/specification/consumption/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index cdf86806a081..000000000000
--- a/specification/consumption/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,204 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-consumption-2019-10-01
- - tag: schema-consumption-2019-06-01
- - tag: schema-consumption-2019-05-01-preview
- - tag: schema-consumption-2019-05-01
- - tag: schema-consumption-2019-04-01-preview
- - tag: schema-consumption-2019-01-01
- - tag: schema-consumption-2018-11-01-preview
- - tag: schema-consumption-2018-10-01
- - tag: schema-consumption-2018-08-31
- - tag: schema-consumption-2018-06-30
- - tag: schema-consumption-2018-05-31
- - tag: schema-consumption-2018-03-31
- - tag: schema-consumption-2018-01-31
- - tag: schema-consumption-2017-12-30-preview
- - tag: schema-consumption-2017-11-30
- - tag: schema-consumption-2017-04-24-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-consumption-2019-10-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-consumption-2019-10-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Consumption/stable/2019-10-01/consumption.json
-
-```
-
-### Tag: schema-consumption-2019-06-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-consumption-2019-06-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Consumption/stable/2019-06-01/consumption.json
-
-```
-
-### Tag: schema-consumption-2019-05-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-consumption-2019-05-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Consumption/preview/2019-05-01-preview/consumption.json
-
-```
-
-### Tag: schema-consumption-2019-05-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-consumption-2019-05-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Consumption/stable/2019-05-01/consumption.json
-
-```
-
-### Tag: schema-consumption-2019-04-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-consumption-2019-04-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Consumption/preview/2019-04-01-preview/consumption.json
-
-```
-
-### Tag: schema-consumption-2019-01-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-consumption-2019-01-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Consumption/stable/2019-01-01/consumption.json
-
-```
-
-### Tag: schema-consumption-2018-11-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-consumption-2018-11-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Consumption/preview/2018-11-01-preview/consumption.json
-
-```
-
-### Tag: schema-consumption-2018-10-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-consumption-2018-10-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Consumption/stable/2018-10-01/consumption.json
-
-```
-
-### Tag: schema-consumption-2018-08-31 and azureresourceschema
-
-``` yaml $(tag) == 'schema-consumption-2018-08-31' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Consumption/stable/2018-08-31/consumption.json
-
-```
-
-### Tag: schema-consumption-2018-06-30 and azureresourceschema
-
-``` yaml $(tag) == 'schema-consumption-2018-06-30' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Consumption/stable/2018-06-30/consumption.json
-
-```
-
-### Tag: schema-consumption-2018-05-31 and azureresourceschema
-
-``` yaml $(tag) == 'schema-consumption-2018-05-31' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Consumption/stable/2018-05-31/consumption.json
-
-```
-
-### Tag: schema-consumption-2018-03-31 and azureresourceschema
-
-``` yaml $(tag) == 'schema-consumption-2018-03-31' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Consumption/stable/2018-03-31/consumption.json
-
-```
-
-### Tag: schema-consumption-2018-01-31 and azureresourceschema
-
-``` yaml $(tag) == 'schema-consumption-2018-01-31' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Consumption/stable/2018-01-31/consumption.json
-
-```
-
-### Tag: schema-consumption-2017-12-30-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-consumption-2017-12-30-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Consumption/preview/2017-12-30-preview/consumption.json
-
-```
-
-### Tag: schema-consumption-2017-11-30 and azureresourceschema
-
-``` yaml $(tag) == 'schema-consumption-2017-11-30' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Consumption/stable/2017-11-30/consumption.json
-
-```
-
-### Tag: schema-consumption-2017-04-24-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-consumption-2017-04-24-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Consumption/preview/2017-04-24-preview/consumption.json
-
-```
diff --git a/specification/consumption/resource-manager/readme.go.md b/specification/consumption/resource-manager/readme.go.md
index 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/consumption/resource-manager/readme.md b/specification/consumption/resource-manager/readme.md
index 57ad996f877b..43a5f80bdd34 100644
--- a/specification/consumption/resource-manager/readme.md
+++ b/specification/consumption/resource-manager/readme.md
@@ -26,18 +26,27 @@ These are the global settings for the Consumption API.
``` yaml
openapi-type: arm
-tag: package-2019-11
+tag: package-2021-05
```
+### Tag: package-2021-05
+
+These settings apply only when `--tag=package-2021-05` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-05'
+input-file:
+ - Microsoft.Consumption/stable/2021-05-01/consumption.json
+```
### Tag: package-2019-11
These settings apply only when `--tag=package-2019-11` is specified on the command line.
-```yaml $(tag) == 'package-2019-11'
+``` yaml $(tag) == 'package-2019-11'
input-file:
- Microsoft.Consumption/stable/2019-11-01/consumption.json
```
+
### Tag: package-2019-10
These settings apply only when `--tag=package-2019-10` is specified on the command line.
@@ -230,8 +239,6 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_consumption']
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js consumption/resource-manager
```
## C#
@@ -417,10 +424,20 @@ regenerate-manager: true
generate-interface: true
```
+## Suppression
+
+``` yaml
+directive:
+ - suppress: R4009
+ from: consumption.json
+ reason: SystemData properties does not fit into the consumption RP APIs as they dont really create any actual resources.
+```
+
## AzureResourceSchema
See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Python
See configuration in [readme.python.md](./readme.python.md)
diff --git a/specification/containerinstance/resource-manager/readme.azureresourceschema.md b/specification/containerinstance/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index 8bc081ce08ba..000000000000
--- a/specification/containerinstance/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,144 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-containerinstance-2021-03-01
- - tag: schema-containerinstance-2020-11-01
- - tag: schema-containerinstance-2019-12-01
- - tag: schema-containerinstance-2018-10-01
- - tag: schema-containerinstance-2018-09-01
- - tag: schema-containerinstance-2018-06-01
- - tag: schema-containerinstance-2018-04-01
- - tag: schema-containerinstance-2018-02-01-preview
- - tag: schema-containerinstance-2017-12-01-preview
- - tag: schema-containerinstance-2017-10-01-preview
- - tag: schema-containerinstance-2017-08-01-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-containerinstance-2021-03-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerinstance-2021-03-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerInstance/stable/2021-03-01/containerInstance.json
-
-```
-
-### Tag: schema-containerinstance-2020-11-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerinstance-2020-11-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerInstance/stable/2020-11-01/containerInstance.json
-
-```
-
-### Tag: schema-containerinstance-2019-12-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerinstance-2019-12-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerInstance/stable/2019-12-01/containerInstance.json
-
-```
-
-### Tag: schema-containerinstance-2018-10-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerinstance-2018-10-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerInstance/stable/2018-10-01/containerInstance.json
-
-```
-
-### Tag: schema-containerinstance-2018-09-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerinstance-2018-09-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerInstance/stable/2018-09-01/containerInstance.json
-
-```
-
-### Tag: schema-containerinstance-2018-06-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerinstance-2018-06-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerInstance/stable/2018-06-01/containerInstance.json
-
-```
-
-### Tag: schema-containerinstance-2018-04-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerinstance-2018-04-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerInstance/stable/2018-04-01/containerInstance.json
-
-```
-
-### Tag: schema-containerinstance-2018-02-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerinstance-2018-02-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerInstance/preview/2018-02-01-preview/containerInstance.json
-
-```
-
-### Tag: schema-containerinstance-2017-12-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerinstance-2017-12-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerInstance/preview/2017-12-01-preview/containerInstance.json
-
-```
-
-### Tag: schema-containerinstance-2017-10-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerinstance-2017-10-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerInstance/preview/2017-10-01-preview/containerInstance.json
-
-```
-
-### Tag: schema-containerinstance-2017-08-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerinstance-2017-08-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerInstance/preview/2017-08-01-preview/containerInstance.json
-
-```
diff --git a/specification/containerinstance/resource-manager/readme.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 3b742564729e..f722746ae620 100644
--- a/specification/containerinstance/resource-manager/readme.md
+++ b/specification/containerinstance/resource-manager/readme.md
@@ -159,8 +159,6 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_container_instance']
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js containerinstance/resource-manager
```
## C#
@@ -191,6 +189,4 @@ See configuration in [readme.ruby.md](./readme.ruby.md)
See configuration in [readme.typescript.md](./readme.typescript.md)
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/containerregistry.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/containerregistry.json
index 711ad07777ff..4601f264d163 100644
--- a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/containerregistry.json
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/containerregistry.json
@@ -731,13 +731,7 @@
"$ref": "#/parameters/ImageName"
},
{
- "name": "value",
- "in": "body",
- "description": "Repository attribute value",
- "required": false,
- "schema": {
- "$ref": "#/definitions/ChangeableAttributes"
- }
+ "$ref": "#/parameters/RepositoryAttributeValue"
}
],
"responses": {
@@ -858,7 +852,7 @@
"$ref": "#/parameters/TagReference"
},
{
- "$ref": "#/parameters/RepoValue"
+ "$ref": "#/parameters/TagAttributeValue"
}
],
"responses": {
@@ -1011,7 +1005,7 @@
"$ref": "#/parameters/ImageReference"
},
{
- "$ref": "#/parameters/RepoValue"
+ "$ref": "#/parameters/ManifestAttributeValue"
}
],
"responses": {
@@ -1366,7 +1360,7 @@
},
"changeableAttributes": {
"description": "Changeable attributes",
- "$ref": "#/definitions/ChangeableAttributes"
+ "$ref": "#/definitions/RepositoryChangeableAttributes"
}
},
"example": {
@@ -1375,7 +1369,8 @@
"readEnabled": true,
"listEnabled": true,
"deleteEnabled": true,
- "writeEnabled": true
+ "writeEnabled": true,
+ "teleportEnabled": false
},
"imageName": "imageName",
"createdTime": "2018-09-07T16:30:46.6583219Z",
@@ -1495,8 +1490,8 @@
"description": "Is signed"
},
"changeableAttributes": {
- "$ref": "#/definitions/ChangeableAttributes",
- "description": "Changeable attributes"
+ "$ref": "#/definitions/TagChangeableAttributes",
+ "description": "Tag Changeable attributes"
}
},
"example": {
@@ -1672,7 +1667,7 @@
}
},
"changeableAttributes": {
- "$ref": "#/definitions/ChangeableAttributes",
+ "$ref": "#/definitions/ManifestChangeableAttributes",
"description": "Changeable attributes"
}
},
@@ -1932,7 +1927,7 @@
"digest": "sha256:5d20c808ce198565ff70b3ed23a991dd49afac45dece63474b27ce6ed036adc6"
}
},
- "ChangeableAttributes": {
+ "TagChangeableAttributes": {
"properties": {
"deleteEnabled": {
"type": "boolean",
@@ -2045,11 +2040,13 @@
},
"quarantineState": {
"type": "string",
- "description": "Quarantine state"
+ "description": "Quarantine state",
+ "x-accessibility": "internal"
},
"quarantineDetails": {
"type": "string",
- "description": "Quarantine details"
+ "description": "Quarantine details",
+ "x-accessibility": "internal"
}
},
"example": {
@@ -2061,6 +2058,38 @@
"writeEnabled": true
}
},
+ "RepositoryChangeableAttributes": {
+ "description": "Changeable attributes for Repository",
+ "properties": {
+ "deleteEnabled": {
+ "type": "boolean",
+ "description": "Delete enabled"
+ },
+ "writeEnabled": {
+ "type": "boolean",
+ "description": "Write enabled"
+ },
+ "listEnabled": {
+ "type": "boolean",
+ "description": "List enabled"
+ },
+ "readEnabled": {
+ "type": "boolean",
+ "description": "Read enabled"
+ },
+ "teleportEnabled": {
+ "type": "boolean",
+ "description": "Enables Teleport functionality on new images in the repository improving Container startup performance"
+ }
+ },
+ "example": {
+ "readEnabled": true,
+ "listEnabled": true,
+ "deleteEnabled": true,
+ "writeEnabled": true,
+ "teleportEnabled": true
+ }
+ },
"Manifest": {
"description": "Returns the requested manifest file",
"properties": {
@@ -2471,13 +2500,33 @@
"type": "string",
"x-ms-parameter-location": "method"
},
- "RepoValue": {
+ "RepositoryAttributeValue": {
"name": "value",
"in": "body",
"description": "Repository attribute value",
"required": false,
"schema": {
- "$ref": "#/definitions/ChangeableAttributes"
+ "$ref": "#/definitions/RepositoryChangeableAttributes"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "TagAttributeValue": {
+ "name": "value",
+ "in": "body",
+ "description": "Tag attribute value",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/TagChangeableAttributes"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "ManifestAttributeValue": {
+ "name": "value",
+ "in": "body",
+ "description": "Manifest attribute value",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/ManifestChangeableAttributes"
},
"x-ms-parameter-location": "method"
},
diff --git a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetRepositoryAttributes.json b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetRepositoryAttributes.json
index c6791683bfd2..21c044fb3d03 100644
--- a/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetRepositoryAttributes.json
+++ b/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/examples/GetRepositoryAttributes.json
@@ -16,7 +16,8 @@
"deleteEnabled": true,
"writeEnabled": true,
"readEnabled": true,
- "listEnabled": true
+ "listEnabled": true,
+ "teleportEnabled": true
}
}
}
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/Microsoft.ContainerRegistry/stable/2019-04-01/containerregistry_build.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/containerregistry_build.json
index 117f409b1b66..81b80b716691 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/containerregistry_build.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/containerregistry_build.json
@@ -689,12 +689,14 @@
"definitions": {
"RunRequest": {
"description": "The request parameters for scheduling a run.",
+ "required": [
+ "type"
+ ],
"type": "object",
"properties": {
"type": {
"description": "The type of the run request.",
- "type": "string",
- "readOnly": true
+ "type": "string"
},
"isArchiveEnabled": {
"description": "The value that indicates whether archiving is enabled for the run or not.",
@@ -1274,6 +1276,9 @@
},
"TaskStepProperties": {
"description": "Base properties for any task step.",
+ "required": [
+ "type"
+ ],
"type": "object",
"properties": {
"type": {
@@ -1284,7 +1289,6 @@
"EncodedTask"
],
"type": "string",
- "readOnly": true,
"x-ms-enum": {
"name": "StepType",
"modelAsString": true
@@ -1743,6 +1747,9 @@
},
"TaskStepUpdateParameters": {
"description": "Base properties for updating any task step.",
+ "required": [
+ "type"
+ ],
"type": "object",
"properties": {
"type": {
@@ -1753,7 +1760,6 @@
"EncodedTask"
],
"type": "string",
- "readOnly": true,
"x-ms-enum": {
"name": "StepType",
"modelAsString": true
@@ -2293,7 +2299,8 @@
"DockerBuildStep": {
"description": "The Docker build step.",
"required": [
- "dockerFilePath"
+ "dockerFilePath",
+ "type"
],
"type": "object",
"allOf": [
@@ -2340,7 +2347,8 @@
"FileTaskStep": {
"description": "The properties of a task step.",
"required": [
- "taskFilePath"
+ "taskFilePath",
+ "type"
],
"type": "object",
"allOf": [
@@ -2370,7 +2378,8 @@
"EncodedTaskStep": {
"description": "The properties of a encoded task step.",
"required": [
- "encodedTaskContent"
+ "encodedTaskContent",
+ "type"
],
"type": "object",
"allOf": [
@@ -2399,6 +2408,9 @@
},
"DockerBuildStepUpdateParameters": {
"description": "The properties for updating a docker build step.",
+ "required": [
+ "type"
+ ],
"type": "object",
"allOf": [
{
@@ -2441,6 +2453,9 @@
},
"FileTaskStepUpdateParameters": {
"description": "The properties of updating a task step.",
+ "required": [
+ "type"
+ ],
"type": "object",
"allOf": [
{
@@ -2468,6 +2483,9 @@
},
"EncodedTaskStepUpdateParameters": {
"description": "The properties for updating encoded task step.",
+ "required": [
+ "type"
+ ],
"type": "object",
"allOf": [
{
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/ManagedIdentity/TasksCreate_WithSystemAndUserIdentities.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/ManagedIdentity/TasksCreate_WithSystemAndUserIdentities.json
index 7d8e6eeb73f4..107c8fbff61f 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/ManagedIdentity/TasksCreate_WithSystemAndUserIdentities.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/ManagedIdentity/TasksCreate_WithSystemAndUserIdentities.json
@@ -16,6 +16,7 @@
"cpu": 2
},
"step": {
+ "type": "Docker",
"imageNames": [
"azurerest:testtag"
],
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/ManagedIdentity/TasksCreate_WithSystemIdentity.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/ManagedIdentity/TasksCreate_WithSystemIdentity.json
index 463e251f63ae..fa1348d1ad60 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/ManagedIdentity/TasksCreate_WithSystemIdentity.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/ManagedIdentity/TasksCreate_WithSystemIdentity.json
@@ -16,6 +16,7 @@
"cpu": 2
},
"step": {
+ "type": "Docker",
"imageNames": [
"azurerest:testtag"
],
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/ManagedIdentity/TasksCreate_WithUserIdentities.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/ManagedIdentity/TasksCreate_WithUserIdentities.json
index bc6e30988154..49e2278135b7 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/ManagedIdentity/TasksCreate_WithUserIdentities.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/ManagedIdentity/TasksCreate_WithUserIdentities.json
@@ -16,6 +16,7 @@
"cpu": 2
},
"step": {
+ "type": "Docker",
"imageNames": [
"azurerest:testtag"
],
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/ManagedIdentity/TasksUpdate_WithKeyVaultCustomCredentials.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/ManagedIdentity/TasksUpdate_WithKeyVaultCustomCredentials.json
index 5c7ad4c2da65..b07ff25f6853 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/ManagedIdentity/TasksUpdate_WithKeyVaultCustomCredentials.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/ManagedIdentity/TasksUpdate_WithKeyVaultCustomCredentials.json
@@ -12,6 +12,7 @@
"cpu": 3
},
"step": {
+ "type": "Docker",
"imageNames": [
"azurerest:testtag1"
],
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/ManagedIdentity/TasksUpdate_WithMSICustomCredentials.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/ManagedIdentity/TasksUpdate_WithMSICustomCredentials.json
index 7008d4a0dfb7..26682fd40ccb 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/ManagedIdentity/TasksUpdate_WithMSICustomCredentials.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/ManagedIdentity/TasksUpdate_WithMSICustomCredentials.json
@@ -12,6 +12,7 @@
"cpu": 3
},
"step": {
+ "type": "Docker",
"imageNames": [
"azurerest:testtag1"
],
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/TasksCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/TasksCreate.json
index 463e251f63ae..fa1348d1ad60 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/TasksCreate.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/TasksCreate.json
@@ -16,6 +16,7 @@
"cpu": 2
},
"step": {
+ "type": "Docker",
"imageNames": [
"azurerest:testtag"
],
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/TasksUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/TasksUpdate.json
index 0eaa3ae1b0dc..2158f452cbf2 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/TasksUpdate.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/TasksUpdate.json
@@ -12,6 +12,7 @@
"cpu": 3
},
"step": {
+ "type": "Docker",
"imageNames": [
"azurerest:testtag1"
],
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/TasksUpdate_WithOpaqueCustomCredentials.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/TasksUpdate_WithOpaqueCustomCredentials.json
index 6ade61660c80..aff913fa2626 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/TasksUpdate_WithOpaqueCustomCredentials.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2019-04-01/examples/TasksUpdate_WithOpaqueCustomCredentials.json
@@ -12,6 +12,7 @@
"cpu": 3
},
"step": {
+ "type": "Docker",
"imageNames": [
"azurerest:testtag1"
],
diff --git a/specification/containerregistry/resource-manager/readme.azureresourceschema.md b/specification/containerregistry/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index fad13bdf50d6..000000000000
--- a/specification/containerregistry/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,156 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-containerregistry-2020-11-01-preview
- - tag: schema-containerregistry-2019-12-01-preview
- - tag: schema-containerregistry-2019-06-01-preview
- - tag: schema-containerregistry-2019-05-01-preview
- - tag: schema-containerregistry-2019-05-01
- - tag: schema-containerregistry-2019-04-01
- - tag: schema-containerregistry-2018-09-01
- - tag: schema-containerregistry-2018-02-01-preview
- - tag: schema-containerregistry-2017-10-01
- - tag: schema-containerregistry-2017-06-01-preview
- - tag: schema-containerregistry-2017-03-01
- - tag: schema-containerregistry-2016-06-27-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-containerregistry-2020-11-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerregistry-2020-11-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerRegistry/preview/2020-11-01-preview/containerregistry.json
-
-```
-
-### Tag: schema-containerregistry-2019-12-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerregistry-2019-12-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json
-
-```
-
-### Tag: schema-containerregistry-2019-06-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerregistry-2019-06-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json
-
-```
-
-### Tag: schema-containerregistry-2019-05-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerregistry-2019-05-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerRegistry/preview/2019-05-01-preview/containerregistry_scopemap.json
-
-```
-
-### Tag: schema-containerregistry-2019-05-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerregistry-2019-05-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerRegistry/stable/2019-05-01/containerregistry.json
-
-```
-
-### Tag: schema-containerregistry-2019-04-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerregistry-2019-04-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerRegistry/stable/2019-04-01/containerregistry_build.json
-
-```
-
-### Tag: schema-containerregistry-2018-09-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerregistry-2018-09-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerRegistry/stable/2018-09-01/containerregistry_build.json
-
-```
-
-### Tag: schema-containerregistry-2018-02-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerregistry-2018-02-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerRegistry/preview/2018-02-01-preview/containerregistry_build.json
-
-```
-
-### Tag: schema-containerregistry-2017-10-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerregistry-2017-10-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerRegistry/stable/2017-10-01/containerregistry.json
-
-```
-
-### Tag: schema-containerregistry-2017-06-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerregistry-2017-06-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerRegistry/preview/2017-06-01-preview/containerregistry.json
-
-```
-
-### Tag: schema-containerregistry-2017-03-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerregistry-2017-03-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerRegistry/stable/2017-03-01/containerregistry.json
-
-```
-
-### Tag: schema-containerregistry-2016-06-27-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerregistry-2016-06-27-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerRegistry/preview/2016-06-27-preview/containerregistry.json
-
-```
diff --git a/specification/containerregistry/resource-manager/readme.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/containerregistry/resource-manager/readme.md b/specification/containerregistry/resource-manager/readme.md
index 315b3c48d1d3..81784d6809f4 100644
--- a/specification/containerregistry/resource-manager/readme.md
+++ b/specification/containerregistry/resource-manager/readme.md
@@ -28,6 +28,14 @@ These are the global settings for the ContainerRegistry API.
openapi-type: arm
tag: package-2020-11-preview
```
+### Tag: package-2020-11-preview-only
+
+These settings apply only when `--tag=package-2020-11-preview-only` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-11-preview-only'
+input-file:
+ - Microsoft.ContainerRegistry/preview/2020-11-01-preview/containerregistry.json
+```
### Tag: package-2020-11-preview
@@ -39,6 +47,15 @@ input-file:
- Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json
```
+### Tag: package-2019-12-preview-only
+
+These settings apply only when `--tag=package-2019-12-preview-only` is specified on the command line.
+
+```yaml $(tag) == 'package-2019-12-preview-only'
+input-file:
+ - Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json
+```
+
### Tag: package-2019-12-preview
These settings apply only when `--tag=package-2019-12-preview` is specified on the command line.
@@ -70,6 +87,15 @@ input-file:
- Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json
```
+### Tag: package-2019-05-only
+
+These settings apply only when `--tag=package-2019-05-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-05-only'
+input-file:
+- Microsoft.ContainerRegistry/stable/2019-05-01/containerregistry.json
+```
+
### Tag: package-2019-05
These settings apply only when `--tag=package-2019-05` is specified on the command line.
@@ -80,6 +106,15 @@ input-file:
- Microsoft.ContainerRegistry/stable/2019-04-01/containerregistry_build.json
```
+### Tag: package-2019-05-preview-only
+
+These settings apply only when `--tag=package-2019-05-preview-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-05-preview-only'
+input-file:
+- Microsoft.ContainerRegistry/preview/2019-05-01-preview/containerregistry_scopemap.json
+```
+
### Tag: package-2019-05-preview
These settings apply only when `--tag=package-2019-05-preview` is specified on the command line.
@@ -109,6 +144,15 @@ input-file:
- Microsoft.ContainerRegistry/stable/2019-04-01/containerregistry_build.json
```
+### Tag: package-2018-09-only
+
+These settings apply only when `--tag=package-2018-09-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-09-only'
+input-file:
+- Microsoft.ContainerRegistry/stable/2018-09-01/containerregistry_build.json
+```
+
### Tag: package-2018-09
These settings apply only when `--tag=package-2018-09` is specified on the command line.
@@ -119,6 +163,15 @@ input-file:
- Microsoft.ContainerRegistry/stable/2018-09-01/containerregistry_build.json
```
+### Tag: package-2018-02-preview-only
+
+These settings apply only when `--tag=package-2018-02-preview-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-02-preview-only'
+input-file:
+- Microsoft.ContainerRegistry/preview/2018-02-01-preview/containerregistry_build.json
+```
+
### Tag: package-2018-02-preview
These settings apply only when `--tag=package-2018-02-preview` is specified on the command line.
@@ -183,6 +236,7 @@ swagger-to-sdk:
after_scripts:
- python ./scripts/multiapi_init_gen.py azure-mgmt-containerregistry
- python ./scripts/trim_aio.py ./sdk/containerregistry/azure-mgmt-containerregistry
+ - repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
@@ -191,8 +245,6 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_container_registry']
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js containerregistry/resource-manager
```
## C#
@@ -213,6 +265,9 @@ csharp:
output-folder: $(csharp-sdks-folder)/containerregistry/Microsoft.Azure.Management.ContainerRegistry/src/Generated
clear-output-folder: true
```
+## Pyhton
+
+See configuration in [readme.python.md](./readme.python.md)
## Go
@@ -222,7 +277,5 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/containerregistry/resource-manager/readme.python.md b/specification/containerregistry/resource-manager/readme.python.md
index ef94bd693666..6cab3774be2b 100644
--- a/specification/containerregistry/resource-manager/readme.python.md
+++ b/specification/containerregistry/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,11 +12,20 @@ python:
no-namespace-folders: true
```
+```yaml $(python) && $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+package-name: azure-mgmt-containerregistry
+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)
+```yaml $(python) && $(multiapi) && !$(track2)
batch:
- tag: package-2020-11-preview
- tag: package-2019-12-preview
@@ -30,6 +39,40 @@ batch:
- tag: package-2017-03
```
+```yaml $(python) && $(multiapi) && $(track2)
+clear-output-folder: true
+batch:
+ - tag: package-2020-11-preview-only
+ - tag: package-2019-12-preview-only
+ - tag: package-2019-06-preview-only
+ - tag: package-2019-05-only
+ - tag: package-2019-05-preview-only
+ - tag: package-2019-04-only
+ - tag: package-2018-09-only
+ - tag: package-2018-02-preview-only
+ - tag: package-2017-10
+ - tag: package-2017-03
+ - multiapiscript: true
+```
+
+``` yaml $(multiapiscript)
+output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/
+clear-output-folder: false
+perform-load: false
+```
+### Tag: package-2020-11-preview-only and python
+
+These settings apply only when `--tag=package-2020-11-preview-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-11-preview-only' && $(python)
+python:
+ namespace: azure.mgmt.containerregistry.v2020_11_01_preview
+ output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2020_11_01_preview
+namespace: azure.mgmt.containerregistry.v2020_11_01_preview
+output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2020_11_01_preview
+```
+
### Tag: package-2020-11-preview and python
These settings apply only when `--tag=package-2020-11-preview --python` is specified on the command line.
@@ -39,6 +82,21 @@ Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-12-preview-only' && $(python)
+python:
+ namespace: azure.mgmt.containerregistry.v2019_12_01_preview
+ output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_12_01_preview
+namespace: azure.mgmt.containerregistry.v2019_12_01_preview
+output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_12_01_preview
```
### Tag: package-2019-12-preview and python
@@ -50,6 +108,21 @@ Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-06-preview-only' && $(python)
+python:
+ namespace: azure.mgmt.containerregistry.v2019_06_01_preview
+ output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_06_01_preview
+namespace: azure.mgmt.containerregistry.v2019_06_01_preview
+output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_06_01_preview
```
### Tag: package-2019-06-preview and python
@@ -61,6 +134,21 @@ Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-05-only' && $(python)
+python:
+ namespace: azure.mgmt.containerregistry.v2019_05_01
+ output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_05_01
+namespace: azure.mgmt.containerregistry.v2019_05_01
+output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_05_01
```
### Tag: package-2019-05 and python
@@ -72,6 +160,21 @@ Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-05-preview-only' && $(python)
+python:
+ namespace: azure.mgmt.containerregistry.v2019_05_01_preview
+ output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_05_01_preview
+namespace: azure.mgmt.containerregistry.v2019_05_01_preview
+output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_05_01_preview
```
### Tag: package-2019-05-preview and python
@@ -83,6 +186,21 @@ Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-04-only' && $(python)
+python:
+ namespace: azure.mgmt.containerregistry.v2019_04_01
+ output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_04_01
+namespace: azure.mgmt.containerregistry.v2019_04_01
+output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_04_01
```
### Tag: package-2019-04 and python
@@ -94,6 +212,21 @@ Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2018-09-only' && $(python)
+python:
+ namespace: azure.mgmt.containerregistry.v2018_09_01
+ output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2018_09_01
+namespace: azure.mgmt.containerregistry.v2018_09_01
+output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2018_09_01
```
### Tag: package-2018-09 and python
@@ -105,6 +238,21 @@ Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2018-02-preview-only' && $(python)
+python:
+ namespace: azure.mgmt.containerregistry.v2018_02_01_preview
+ output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2018_02_01_preview
+namespace: azure.mgmt.containerregistry.v2018_02_01_preview
+output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2018_02_01_preview
```
### Tag: package-2018-02-preview and python
@@ -116,6 +264,8 @@ Please also specify `--python-sdks-folder=
+ $['required'] = ['type'];
+ - from: swagger-document
+ where: $.definitions.BuildStepPropertiesUpdateParameters
+ transform: >
+ $['required'] = ['type'];
+ - from: swagger-document
+ where: $.definitions.QueueBuildRequest
+ transform: >
+ $['required'] = ['type'];
+ - from: swagger-document
+ where: $.definitions.RunRequest
+ transform: >
+ $['required'] = ['type'];
+ - from: swagger-document
+ where: $.definitions.TaskStepProperties
+ transform: >
+ $['required'] = ['type'];
+ - from: swagger-document
+ where: $.definitions.TaskStepUpdateParameters
+ transform: >
+ $['required'] = ['type'];
+```
\ No newline at end of file
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/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsCreate_CustomNodeConfig.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsCreate_CustomNodeConfig.json
new file mode 100644
index 000000000000..baffebb05a17
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsCreate_CustomNodeConfig.json
@@ -0,0 +1,122 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json
new file mode 100644
index 000000000000..0391a02766dd
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/AgentPoolsCreate_EnableFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsCreate_EnableFIPS.json
new file mode 100644
index 000000000000..e88a2fa274e3
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsCreate_EnableFIPS.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/AgentPoolsCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsCreate_EnableUltraSSD.json
new file mode 100644
index 000000000000..4f6034b373d6
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsCreate_EnableUltraSSD.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "enableUltraSSD": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.17.13",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "enableUltraSSD": true
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.17.13",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "enableUltraSSD": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsCreate_Ephemeral.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsCreate_Ephemeral.json
new file mode 100644
index 000000000000..1e3ae2e89905
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsCreate_Ephemeral.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/AgentPoolsCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsCreate_GPUMIG.json
new file mode 100644
index 000000000000..7f8c90c891ee
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsCreate_GPUMIG.json
@@ -0,0 +1,125 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/AgentPoolsCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsCreate_OSSKU.json
new file mode 100644
index 000000000000..729b5447e07b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsCreate_OSSKU.json
@@ -0,0 +1,125 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsCreate_PPG.json
new file mode 100644
index 000000000000..8cb11530e01b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsCreate_PPG.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsCreate_Spot.json
new file mode 100644
index 000000000000..f418353e5dab
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsCreate_Spot.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsCreate_Update.json
new file mode 100644
index 000000000000..96c162f87802
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsCreate_Update.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsDelete.json
new file mode 100644
index 000000000000..1611014bf988
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsGet.json
new file mode 100644
index 000000000000..ac0f1f21a488
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
new file mode 100644
index 000000000000..5d3d2f9afe30
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsGetUpgradeProfile.json
new file mode 100644
index 000000000000..dec9847f99e5
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsGetUpgradeProfile.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsList.json
new file mode 100644
index 000000000000..17dc4e0f2b73
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/AgentPoolsUpgradeNodeImageVersion.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsUpgradeNodeImageVersion.json
new file mode 100644
index 000000000000..4890fb761c1f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPoolsUpgradeNodeImageVersion.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPools_Update.json
new file mode 100644
index 000000000000..14e08a9c5cec
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/AgentPools_Update.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/ContainerServiceGetOSOptions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ContainerServiceGetOSOptions.json
new file mode 100644
index 000000000000..1295e3b8cff1
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ContainerServiceGetOSOptions.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/MaintenanceConfigurationsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/MaintenanceConfigurationsCreate_Update.json
new file mode 100644
index 000000000000..22b3e7a1738d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/MaintenanceConfigurationsCreate_Update.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/MaintenanceConfigurationsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/MaintenanceConfigurationsDelete.json
new file mode 100644
index 000000000000..2a3e7ae3f60b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/MaintenanceConfigurationsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "configName": "default"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/MaintenanceConfigurationsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/MaintenanceConfigurationsGet.json
new file mode 100644
index 000000000000..abe7f439388e
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/MaintenanceConfigurationsGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/MaintenanceConfigurationsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/MaintenanceConfigurationsList.json
new file mode 100644
index 000000000000..9377259ff129
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/MaintenanceConfigurationsList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json
new file mode 100644
index 000000000000..db5cc6eefcaf
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json
@@ -0,0 +1,236 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/ManagedClustersCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_EnableUltraSSD.json
new file mode 100644
index 000000000000..e63a16bb8daf
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_EnableUltraSSD.json
@@ -0,0 +1,236 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableUltraSSD": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "enableUltraSSD": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableUltraSSD": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_EnabledFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_EnabledFIPS.json
new file mode 100644
index 000000000000..d52d7ee61232
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_EnabledFIPS.json
@@ -0,0 +1,236 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/ManagedClustersCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_GPUMIG.json
new file mode 100644
index 000000000000..ecd67657bc78
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_GPUMIG.json
@@ -0,0 +1,263 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/ManagedClustersCreate_HTTPProxy.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_HTTPProxy.json
new file mode 100644
index 000000000000..647708029403
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_HTTPProxy.json
@@ -0,0 +1,260 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json
new file mode 100644
index 000000000000..a6b395818ce0
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json
@@ -0,0 +1,236 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/ManagedClustersCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_OSSKU.json
new file mode 100644
index 000000000000..ec292b2629d2
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_OSSKU.json
@@ -0,0 +1,263 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_PPG.json
new file mode 100644
index 000000000000..2e700e78b431
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_PPG.json
@@ -0,0 +1,236 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/ManagedClustersCreate_PodIdentity.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_PodIdentity.json
new file mode 100644
index 000000000000..07d991f1b596
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_PodIdentity.json
@@ -0,0 +1,245 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json
new file mode 100644
index 000000000000..ef9e5d920284
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json
@@ -0,0 +1,246 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json
new file mode 100644
index 000000000000..dadcc3df4800
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json
@@ -0,0 +1,250 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "apiServerAccessProfile": {
+ "enablePrivateCluster": true,
+ "enablePrivateClusterPublicFQDN": true
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "apiServerAccessProfile": {
+ "enablePrivateCluster": true,
+ "enablePrivateClusterPublicFQDN": true,
+ "privateDNSZone": "system"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io",
+ "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "apiServerAccessProfile": {
+ "enablePrivateCluster": true,
+ "enablePrivateClusterPublicFQDN": true,
+ "privateDNSZone": "system"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io",
+ "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_Update.json
new file mode 100644
index 000000000000..ef428d363b3e
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_Update.json
@@ -0,0 +1,282 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/ManagedClustersCreate_UpdateWithAHUB.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_UpdateWithAHUB.json
new file mode 100644
index 000000000000..b11c0edde1a1
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_UpdateWithAHUB.json
@@ -0,0 +1,275 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json
new file mode 100644
index 000000000000..bffc46df6f05
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json
@@ -0,0 +1,264 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersDelete.json
new file mode 100644
index 000000000000..45de4694848d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersGet.json
new file mode 100644
index 000000000000..814689c9edd9
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersGet.json
@@ -0,0 +1,97 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersGetAccessProfile.json
new file mode 100644
index 000000000000..93f3aa1aacbc
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersGetAccessProfile.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersGetUpgradeProfile.json
new file mode 100644
index 000000000000..6955cc18615d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersGetUpgradeProfile.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersList.json
new file mode 100644
index 000000000000..7a2dec0b2099
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersList.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersListByResourceGroup.json
new file mode 100644
index 000000000000..2b5fe026042b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersListByResourceGroup.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersListClusterCredentialResult.json
new file mode 100644
index 000000000000..0f7f7b5a057d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersListClusterCredentialResult.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersResetAADProfile.json
new file mode 100644
index 000000000000..3d8e6b91ffa2
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersResetAADProfile.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersResetServicePrincipalProfile.json
new file mode 100644
index 000000000000..bc43e96c5e26
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersResetServicePrincipalProfile.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersRotateClusterCertificates.json
new file mode 100644
index 000000000000..45de4694848d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersRotateClusterCertificates.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersStart.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersStart.json
new file mode 100644
index 000000000000..45de4694848d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersStart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersStop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersStop.json
new file mode 100644
index 000000000000..45de4694848d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersStop.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersUpdateTags.json
new file mode 100644
index 000000000000..18b84e24f997
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ManagedClustersUpdateTags.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/OutboundNetworkDependenciesEndpointsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/OutboundNetworkDependenciesEndpointsList.json
new file mode 100644
index 000000000000..2e0b3aca1faf
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/OutboundNetworkDependenciesEndpointsList.json
@@ -0,0 +1,242 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "category": "azure-resource-management",
+ "endpoints": [
+ {
+ "domainName": "management.azure.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ },
+ {
+ "domainName": "login.microsoftonline.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "images",
+ "endpoints": [
+ {
+ "domainName": "mcr.microsoft.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ },
+ {
+ "domainName": "*.data.mcr.microsoft.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https",
+ "description": "mcr cdn"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "artifacts",
+ "endpoints": [
+ {
+ "domainName": "packages.microsoft.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ },
+ {
+ "domainName": "acs-mirror.azureedge.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "time-sync",
+ "endpoints": [
+ {
+ "domainName": "ntp.ubuntu.com",
+ "endpointDetails": [
+ {
+ "port": 123,
+ "protocol": "UDP"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "ubuntu-optional",
+ "endpoints": [
+ {
+ "domainName": "security.ubuntu.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "protocol": "Http"
+ }
+ ]
+ },
+ {
+ "domainName": "azure.archive.ubuntu.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "protocol": "Http"
+ }
+ ]
+ },
+ {
+ "domainName": "changelogs.ubuntu.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "protocol": "Http"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "gpu",
+ "endpoints": [
+ {
+ "domainName": "nvidia.github.io",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ },
+ {
+ "domainName": "us.download.nvidia.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ },
+ {
+ "domainName": "apt.dockerproject.org",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "windows",
+ "endpoints": [
+ {
+ "domainName": "onegetcdn.azureedge.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ },
+ {
+ "domainName": "go.microsoft.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ },
+ {
+ "domainName": "*.mp.microsoft.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "protocol": "Http"
+ }
+ ]
+ },
+ {
+ "domainName": "www.msftconnecttest.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "protocol": "Http"
+ }
+ ]
+ },
+ {
+ "domainName": "ctldl.windowsupdate.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "protocol": "Http"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "apiserver",
+ "endpoints": [
+ {
+ "domainName": "*.azmk8s.io",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "tunnel-classic",
+ "endpoints": [
+ {
+ "domainName": "*.azmk8s.io",
+ "endpointDetails": [
+ {
+ "port": 9000,
+ "protocol": "TCP"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/PrivateEndpointConnectionsDelete.json
new file mode 100644
index 000000000000..bdae1bdffd77
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/PrivateEndpointConnectionsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "privateEndpointConnectionName": "privateendpointconnection1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/PrivateEndpointConnectionsGet.json
new file mode 100644
index 000000000000..60ba1b37aa31
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/PrivateEndpointConnectionsGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/PrivateEndpointConnectionsList.json
new file mode 100644
index 000000000000..5da5e9f35251
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/PrivateEndpointConnectionsList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/PrivateEndpointConnectionsUpdate.json
new file mode 100644
index 000000000000..7bf33c329b55
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/PrivateEndpointConnectionsUpdate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/PrivateLinkResourcesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/PrivateLinkResourcesList.json
new file mode 100644
index 000000000000..d9cb7afebef5
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/PrivateLinkResourcesList.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/ResolvePrivateLinkServiceId.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ResolvePrivateLinkServiceId.json
new file mode 100644
index 000000000000..c85390680ea3
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/ResolvePrivateLinkServiceId.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01/examples/RunCommandRequest.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/RunCommandRequest.json
new file mode 100644
index 000000000000..8329c27edc81
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/RunCommandRequest.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-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-05-01/examples/RunCommandResultFailed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/RunCommandResultFailed.json
new file mode 100644
index 000000000000..fc020be708d9
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/RunCommandResultFailed.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-01"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9",
+ "properties": {
+ "provisioningState": "failed",
+ "reason": "ImagePullBackoff"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/RunCommandResultSucceed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/RunCommandResultSucceed.json
new file mode 100644
index 000000000000..1c6c65cc5e5f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/examples/RunCommandResultSucceed.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-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-05-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/managedClusters.json
new file mode 100644
index 000000000000..ded4a2b35c4d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-05-01/managedClusters.json
@@ -0,0 +1,4718 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerServiceClient",
+ "description": "The Container Service Client.",
+ "version": "2021-05-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/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"
+ },
+ {
+ "$ref": "#/parameters/ServerFqdnParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterUserCredentials",
+ "summary": "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"
+ },
+ {
+ "$ref": "#/parameters/ServerFqdnParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials",
+ "summary": "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"
+ },
+ {
+ "$ref": "#/parameters/ServerFqdnParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Get",
+ "summary": "Gets a managed cluster.",
+ "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 UltraSSD enabled": {
+ "$ref": "./examples/ManagedClustersCreate_EnableUltraSSD.json"
+ },
+ "Create Managed Cluster with PodIdentity enabled": {
+ "$ref": "./examples/ManagedClustersCreate_PodIdentity.json"
+ },
+ "Create Managed Private Cluster with fqdn subdomain specified": {
+ "$ref": "./examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json"
+ },
+ "Create Managed Private Cluster with Public FQDN specified": {
+ "$ref": "./examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json"
+ },
+ "Create Managed Cluster with Node Public IP Prefix": {
+ "$ref": "./examples/ManagedClustersCreate_NodePublicIPPrefix.json"
+ },
+ "Create Managed Cluster with FIPS enabled OS": {
+ "$ref": "./examples/ManagedClustersCreate_EnabledFIPS.json"
+ },
+ "Create Managed Cluster with HTTP proxy configured": {
+ "$ref": "./examples/ManagedClustersCreate_HTTPProxy.json"
+ }
+ }
+ },
+ "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 UltraSSD enabled": {
+ "$ref": "./examples/AgentPoolsCreate_EnableUltraSSD.json"
+ },
+ "Create Agent Pool with FIPS enabled OS": {
+ "$ref": "./examples/AgentPoolsCreate_EnableFIPS.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_Delete",
+ "summary": "Deletes an agent pool.",
+ "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"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/outboundNetworkDependenciesEndpoints": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListOutboundNetworkDependenciesEndpoints",
+ "summary": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster.",
+ "description": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster. The operation returns properties of each egress endpoint.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OutboundEnvironmentEndpointCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List OutboundNetworkDependenciesEndpoints by Managed Cluster": {
+ "$ref": "./examples/OutboundNetworkDependenciesEndpointsList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/OperationValue"
+ },
+ "description": "The list of 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 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1."
+ },
+ "vmSize": {
+ "type": "string",
+ "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"
+ },
+ "enableUltraSSD": {
+ "type": "boolean",
+ "description": "Whether to enable UltraSSD"
+ },
+ "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. "
+ },
+ "enablePrivateClusterPublicFQDN": {
+ "type": "boolean",
+ "description": "Whether to create additional public FQDN for private cluster or not."
+ }
+ },
+ "description": "Access profile for managed cluster API server."
+ },
+ "ManagedClusterIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the system assigned identity which is used by master components."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the system assigned identity which is used by master components."
+ },
+ "type": {
+ "type": "string",
+ "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."
+ },
+ "EndpointDependency": {
+ "description": "A domain name that AKS agent nodes are reaching at.",
+ "type": "object",
+ "properties": {
+ "domainName": {
+ "description": "The domain name of the dependency.",
+ "type": "string"
+ },
+ "endpointDetails": {
+ "description": "The Ports and Protocols used when connecting to domainName.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointDetail"
+ }
+ }
+ }
+ },
+ "EndpointDetail": {
+ "description": "connect information from the AKS agent nodes to a single endpoint.",
+ "type": "object",
+ "properties": {
+ "ipAddress": {
+ "description": "An IP Address that Domain Name currently resolves to.",
+ "type": "string"
+ },
+ "port": {
+ "format": "int32",
+ "description": "The port an endpoint is connected to.",
+ "type": "integer"
+ },
+ "protocol": {
+ "description": "The protocol used for connection",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the detail",
+ "type": "string"
+ }
+ }
+ },
+ "OutboundEnvironmentEndpoint": {
+ "description": "Egress endpoints which AKS agent nodes connect to for common purpose.",
+ "type": "object",
+ "properties": {
+ "category": {
+ "description": "The category of endpoints accessed by the AKS agent node, e.g. azure-resource-management, apiserver, etc.",
+ "type": "string"
+ },
+ "endpoints": {
+ "description": "The endpoints that AKS agent nodes connect to",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointDependency"
+ }
+ }
+ }
+ },
+ "OutboundEnvironmentEndpointCollection": {
+ "description": "Collection of OutboundEnvironmentEndpoint",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OutboundEnvironmentEndpoint"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "x-ms-parameter-location": "client"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version.",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
+ "description": "The name of the managed cluster resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "LocationParameter": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceTypeParameter": {
+ "name": "resource-type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "resource type for which the OS options needs to be returned",
+ "x-ms-parameter-location": "method"
+ },
+ "ServerFqdnParameter": {
+ "name": "server-fqdn",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "server fqdn type for credentials to be returned",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/readme.azureresourceschema.md b/specification/containerservice/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index 87ee99b9b437..000000000000
--- a/specification/containerservice/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,349 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-containerservice-2021-02-01
- - tag: schema-containerservice-2020-12-01
- - tag: schema-containerservice-2020-11-01
- - tag: schema-containerservice-2020-09-01
- - tag: schema-containerservice-2020-07-01
- - tag: schema-containerservice-2020-06-01
- - tag: schema-containerservice-2020-04-01
- - tag: schema-containerservice-2020-03-01
- - tag: schema-containerservice-2020-02-01
- - tag: schema-containerservice-2020-01-01
- - tag: schema-containerservice-2019-11-01
- - tag: schema-containerservice-2019-10-27-preview
- - tag: schema-containerservice-2019-10-01
- - tag: schema-containerservice-2019-09-30
- - tag: schema-containerservice-2019-08-01
- - tag: schema-containerservice-2019-06-01
- - tag: schema-containerservice-2019-04-30
- - tag: schema-containerservice-2019-04-01
- - tag: schema-containerservice-2019-02-01
- - tag: schema-containerservice-2018-09-30-preview
- - tag: schema-containerservice-2018-08-01-preview
- - tag: schema-containerservice-2018-03-31
- - tag: schema-containerservice-2017-09-30
- - tag: schema-containerservice-2017-08-31
- - tag: schema-containerservice-2017-07-01
- - tag: schema-containerservice-2017-01-31
- - tag: schema-containerservice-2016-09-30
- - tag: schema-containerservice-2016-03-30
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-containerservice-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
-
-``` yaml $(tag) == 'schema-containerservice-2020-12-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2020-12-01/managedClusters.json
-
-```
-
-### Tag: schema-containerservice-2020-11-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2020-11-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2020-11-01/managedClusters.json
-
-```
-
-### Tag: schema-containerservice-2020-09-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2020-09-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2020-09-01/managedClusters.json
-
-```
-
-### Tag: schema-containerservice-2020-07-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2020-07-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2020-07-01/managedClusters.json
-
-```
-
-### Tag: schema-containerservice-2020-06-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2020-06-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2020-06-01/managedClusters.json
-
-```
-
-### Tag: schema-containerservice-2020-04-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2020-04-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2020-04-01/managedClusters.json
-
-```
-
-### Tag: schema-containerservice-2020-03-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2020-03-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2020-03-01/managedClusters.json
-
-```
-
-### Tag: schema-containerservice-2020-02-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2020-02-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2020-02-01/managedClusters.json
-
-```
-
-### Tag: schema-containerservice-2020-01-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2020-01-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2020-01-01/managedClusters.json
-
-```
-
-### Tag: schema-containerservice-2019-11-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2019-11-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2019-11-01/managedClusters.json
-
-```
-
-### Tag: schema-containerservice-2019-10-27-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2019-10-27-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/preview/2019-10-27-preview/openShiftManagedClusters.json
-
-```
-
-### Tag: schema-containerservice-2019-10-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2019-10-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2019-10-01/managedClusters.json
-
-```
-
-### Tag: schema-containerservice-2019-09-30 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2019-09-30' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/preview/2019-09-30/openShiftManagedClusters.json
-
-```
-
-### Tag: schema-containerservice-2019-08-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2019-08-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2019-08-01/location.json
- - Microsoft.ContainerService/stable/2019-08-01/managedClusters.json
-
-```
-
-### Tag: schema-containerservice-2019-06-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2019-06-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2019-06-01/location.json
- - Microsoft.ContainerService/stable/2019-06-01/managedClusters.json
-
-```
-
-### Tag: schema-containerservice-2019-04-30 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2019-04-30' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json
-
-```
-
-### Tag: schema-containerservice-2019-04-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2019-04-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2019-04-01/managedClusters.json
- - Microsoft.ContainerService/stable/2019-04-01/location.json
-
-```
-
-### Tag: schema-containerservice-2019-02-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2019-02-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2019-02-01/managedClusters.json
-
-```
-
-### Tag: schema-containerservice-2018-09-30-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2018-09-30-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/preview/2018-09-30-preview/openShiftManagedClusters.json
-
-```
-
-### Tag: schema-containerservice-2018-08-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2018-08-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/preview/2018-08-01-preview/managedClusters.json
-
-```
-
-### Tag: schema-containerservice-2018-03-31 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2018-03-31' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2018-03-31/managedClusters.json
-
-```
-
-### Tag: schema-containerservice-2017-09-30 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2017-09-30' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2017-09-30/location.json
-
-```
-
-### Tag: schema-containerservice-2017-08-31 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2017-08-31' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2017-08-31/managedClusters.json
-
-```
-
-### Tag: schema-containerservice-2017-07-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2017-07-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2017-07-01/containerService.json
-
-```
-
-### Tag: schema-containerservice-2017-01-31 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2017-01-31' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2017-01-31/containerService.json
-
-```
-
-### Tag: schema-containerservice-2016-09-30 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2016-09-30' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2016-09-30/containerService.json
-
-```
-
-### Tag: schema-containerservice-2016-03-30 and azureresourceschema
-
-``` yaml $(tag) == 'schema-containerservice-2016-03-30' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.ContainerService/stable/2016-03-30/containerService.json
-
-```
diff --git a/specification/containerservice/resource-manager/readme.go.md b/specification/containerservice/resource-manager/readme.go.md
index 2567d50d7c2b..6981ca930982 100644
--- a/specification/containerservice/resource-manager/readme.go.md
+++ b/specification/containerservice/resource-manager/readme.go.md
@@ -2,16 +2,26 @@
These settings apply only when `--go` is specified on the command line.
-``` yaml $(go)
+``` yaml $(go) && !$(track2)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
```
+``` yaml $(go) && $(track2)
+license-header: MICROSOFT_MIT_NO_VERSION
+module-name: sdk/containerservice/armcontainerservice
+module: github.com/Azure/azure-sdk-for-go/$(module-name)
+output-folder: $(go-sdk-folder)/$(module-name)
+azure-arm: true
+```
+
### Go multi-api
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-05
+ - tag: package-2021-03
- tag: package-2021-02
- tag: package-2020-12
- tag: package-2020-11
@@ -38,6 +48,24 @@ batch:
- tag: package-2017-07
```
+### Tag: package-2021-05 and go
+
+These settings apply only when `--package-2021-05 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2021-05' && $(go)
+namespace: containerservice
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-05-01/$(namespace)
+```
+### Tag: package-2021-03 and go
+
+These settings apply only when `--package-2021-03 --go` is specified on the command line.
+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..46b7fa78defb 100644
--- a/specification/containerservice/resource-manager/readme.java.md
+++ b/specification/containerservice/resource-manager/readme.java.md
@@ -30,6 +30,34 @@ batch:
- tag: package-2020-11
- tag: package-2020-12
- tag: package-2021-02
+ - tag: package-2021-03
+ - tag: package-2021-05
+```
+
+### Tag: package-2021-05 and java
+
+These settings apply only when `--tag=package-2021-05` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2021-05' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerservice.v2021_05_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2021_05_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2021-03 and java
+
+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..fd2e8803203a 100644
--- a/specification/containerservice/resource-manager/readme.md
+++ b/specification/containerservice/resource-manager/readme.md
@@ -34,18 +34,36 @@ These are the global settings for the ContainerServices API.
``` yaml
openapi-type: arm
-tag: package-2021-02
+tag: package-2021-05
```
+### Tag: package-2021-05
+
+These settings apply only when `--tag=package-2021-05` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-05'
+input-file:
+ - Microsoft.ContainerService/stable/2021-05-01/managedClusters.json
+```
+### Tag: package-2021-03
+
+These settings apply only when `--tag=package-2021-03` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-03'
+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 +328,32 @@ input-file:
```
+### Tag: package-2021-05-01-only
+
+These settings apply only when `--tag=package-2021-05-01-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-05-01-only'
+input-file:
+- Microsoft.ContainerService/stable/2021-05-01/managedClusters.json
+directive:
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile
+ reason: Cluster-autoscaler settings are not camel-cased
+```
+
+### Tag: package-2021-03-01-only
+
+These settings apply only when `--tag=package-2021-03-01-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-03-01-only'
+input-file:
+- Microsoft.ContainerService/stable/2021-03-01/managedClusters.json
+directive:
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile
+ reason: Cluster-autoscaler settings are not camel-cased
+```
+
### Tag: package-2021-02-01-only
These settings apply only when `--tag=package-2021-02-01-only` is specified on the command line.
@@ -628,8 +672,6 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_container_service']
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js containerservice/resource-manager
```
## C#
@@ -667,6 +709,4 @@ directive:
reason: ACS service is deprecated so a PATCH endpoint won't be implemented
```
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/containerservice/resource-manager/readme.python.md b/specification/containerservice/resource-manager/readme.python.md
index d5ca5a71dade..6b5fc7ba1912 100644
--- a/specification/containerservice/resource-manager/readme.python.md
+++ b/specification/containerservice/resource-manager/readme.python.md
@@ -26,6 +26,8 @@ Generate all API versions currently shipped for this package
```yaml $(python) && $(multiapi) && !$(track2)
batch:
+ - tag: package-2021-05-01-only
+ - tag: package-2021-03-01-only
- tag: package-2021-02-01-only
- tag: package-2020-12-01-only
- tag: package-2020-11-01-only
@@ -53,6 +55,8 @@ batch:
```yaml $(python) && $(multiapi) && $(track2)
batch:
+ - tag: package-2021-05-01-only
+ - tag: package-2021-03-01-only
- tag: package-2021-02-01-only
- tag: package-2020-12-01-only
- tag: package-2020-11-01-only
@@ -85,6 +89,32 @@ clear-output-folder: false
perform-load: false
```
+### Tag: package-2021-05-01-only and python
+
+These settings apply only when `--tag=package-2021-05-01-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-05-01-only' && $(python)
+python:
+ namespace: azure.mgmt.containerservice.v2021_05_01
+ output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_05_01
+namespace: azure.mgmt.containerservice.v2021_05_01
+output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_05_01
+```
+
+### Tag: package-2021-03-01-only and python
+
+These settings apply only when `--tag=package-2021-03-01-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-03-01-only' && $(python)
+python:
+ namespace: azure.mgmt.containerservice.v2021_03_01
+ output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_03_01
+namespace: azure.mgmt.containerservice.v2021_03_01
+output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_03_01
+```
+
### 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 6cd99eddb7ab..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",
@@ -8720,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/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/preview/2021-03-01-preview/managedCassandra.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-03-01-preview/managedCassandra.json
index e92d963c7d24..bbb3ab098d2a 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-03-01-preview/managedCassandra.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-03-01-preview/managedCassandra.json
@@ -713,7 +713,7 @@
"description": "Managed Cassandra cluster name.",
"minLength": 1,
"maxLength": 100,
- "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*"
+ "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$"
},
"dataCenterNameParameter": {
"name": "dataCenterName",
@@ -724,7 +724,7 @@
"description": "Data center name in a managed Cassandra cluster.",
"minLength": 1,
"maxLength": 100,
- "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*"
+ "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$"
},
"backupNameParameter": {
"name": "backupId",
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/cosmos-db.json
new file mode 100644
index 000000000000..5af2aaf64058
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/cosmos-db.json
@@ -0,0 +1,9183 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "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.DocumentDB/databaseAccounts/{accountName}": {
+ "get": {
+ "operationId": "DatabaseAccounts_Get",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountGet": {
+ "$ref": "./examples/CosmosDBDatabaseAccountGet.json"
+ }
+ },
+ "description": "Retrieves the properties of an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The database account properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountGetResults"
+ }
+ }
+ }
+ },
+ "patch": {
+ "operationId": "DatabaseAccounts_Update",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountPatch": {
+ "$ref": "./examples/CosmosDBDatabaseAccountPatch.json"
+ }
+ },
+ "description": "Updates the properties of an existing Azure Cosmos DB database account.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountUpdateParameters"
+ },
+ "description": "The parameters to provide for the current database account."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The database account update operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "DatabaseAccounts_CreateOrUpdate",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountCreateMin": {
+ "$ref": "./examples/CosmosDBDatabaseAccountCreateMin.json"
+ },
+ "CosmosDBDatabaseAccountCreateMax": {
+ "$ref": "./examples/CosmosDBDatabaseAccountCreateMax.json"
+ },
+ "CosmosDBRestoreDatabaseAccountCreateUpdate.json": {
+ "$ref": "./examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json"
+ }
+ },
+ "description": "Creates or updates an Azure Cosmos DB database account. The \"Update\" method is preferred when performing updates on an account.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current database account."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The database account create or update operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DatabaseAccounts_Delete",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountDelete": {
+ "$ref": "./examples/CosmosDBDatabaseAccountDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB database account.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The database account delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The specified account does not exist in the subscription."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange": {
+ "post": {
+ "operationId": "DatabaseAccounts_FailoverPriorityChange",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountFailoverPriorityChange": {
+ "$ref": "./examples/CosmosDBDatabaseAccountFailoverPriorityChange.json"
+ }
+ },
+ "description": "Changes the failover priority for the Azure Cosmos DB database account. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "failoverParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FailoverPolicies"
+ },
+ "description": "The new failover policies for the database account."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted. The failover policy change operation will complete asynchronously."
+ },
+ "204": {
+ "description": "No Content"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/databaseAccounts": {
+ "get": {
+ "operationId": "DatabaseAccounts_List",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountList": {
+ "$ref": "./examples/CosmosDBDatabaseAccountList.json"
+ }
+ },
+ "description": "Lists all the Azure Cosmos DB database accounts available under the subscription.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountsListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts": {
+ "get": {
+ "operationId": "DatabaseAccounts_ListByResourceGroup",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountListByResourceGroup": {
+ "$ref": "./examples/CosmosDBDatabaseAccountListByResourceGroup.json"
+ }
+ },
+ "description": "Lists all the Azure Cosmos DB database accounts available under the given resource group.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountsListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listKeys": {
+ "post": {
+ "operationId": "DatabaseAccounts_ListKeys",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountListKeys": {
+ "$ref": "./examples/CosmosDBDatabaseAccountListKeys.json"
+ }
+ },
+ "description": "Lists the access keys for the specified Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountListKeysResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listConnectionStrings": {
+ "post": {
+ "operationId": "DatabaseAccounts_ListConnectionStrings",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountListConnectionStrings": {
+ "$ref": "./examples/CosmosDBDatabaseAccountListConnectionStrings.json"
+ },
+ "CosmosDBDatabaseAccountListConnectionStringsMongo": {
+ "$ref": "./examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json"
+ }
+ },
+ "description": "Lists the connection strings for the specified Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountListConnectionStringsResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/offlineRegion": {
+ "post": {
+ "operationId": "DatabaseAccounts_OfflineRegion",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountOfflineRegion": {
+ "$ref": "./examples/CosmosDBDatabaseAccountOfflineRegion.json"
+ }
+ },
+ "description": "Offline the specified region for the specified Azure Cosmos DB database account.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "regionParameterForOffline",
+ "in": "body",
+ "required": true,
+ "description": "Cosmos DB region to offline for the database account.",
+ "schema": {
+ "$ref": "#/definitions/RegionForOnlineOffline"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The offline region operation is completed successfully."
+ },
+ "202": {
+ "description": "Accepted. The offline region operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/onlineRegion": {
+ "post": {
+ "operationId": "DatabaseAccounts_OnlineRegion",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountOnlineRegion": {
+ "$ref": "./examples/CosmosDBDatabaseAccountOnlineRegion.json"
+ }
+ },
+ "description": "Online the specified region for the specified Azure Cosmos DB database account.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "regionParameterForOnline",
+ "in": "body",
+ "required": true,
+ "description": "Cosmos DB region to online for the database account.",
+ "schema": {
+ "$ref": "#/definitions/RegionForOnlineOffline"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The online region operation is completed successfully."
+ },
+ "202": {
+ "description": "Accepted. The online region operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys": {
+ "get": {
+ "operationId": "DatabaseAccounts_GetReadOnlyKeys",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountListReadOnlyKeys": {
+ "$ref": "./examples/CosmosDBDatabaseAccountListReadOnlyKeys.json"
+ }
+ },
+ "description": "Lists the read-only access keys for the specified Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountListReadOnlyKeysResult"
+ }
+ }
+ }
+ },
+ "post": {
+ "operationId": "DatabaseAccounts_ListReadOnlyKeys",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountListReadOnlyKeys": {
+ "$ref": "./examples/CosmosDBDatabaseAccountListReadOnlyKeys.json"
+ }
+ },
+ "description": "Lists the read-only access keys for the specified Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountListReadOnlyKeysResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey": {
+ "post": {
+ "operationId": "DatabaseAccounts_RegenerateKey",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegenerateKey": {
+ "$ref": "./examples/CosmosDBDatabaseAccountRegenerateKey.json"
+ }
+ },
+ "description": "Regenerates an access key for the specified Azure Cosmos DB database account.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "keyToRegenerate",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabaseAccountRegenerateKeyParameters"
+ },
+ "description": "The name of the key to regenerate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted. The regenerate key operation will complete asynchronously."
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.DocumentDB/databaseAccountNames/{accountName}": {
+ "head": {
+ "operationId": "DatabaseAccounts_CheckNameExists",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountCheckNameExists": {
+ "$ref": "./examples/CosmosDBDatabaseAccountCheckNameExists.json"
+ }
+ },
+ "description": "Checks that the Azure Cosmos DB account name already exists. A valid account name may contain only lowercase letters, numbers, and the '-' character, and must be between 3 and 50 characters.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The account name is valid but is already in use."
+ },
+ "404": {
+ "description": "Not Found. The account name is available and valid."
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.DocumentDB/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available Cosmos DB Resource Provider operations.",
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "CosmosDBOperationsList": {
+ "$ref": "./examples/CosmosDBOperationsList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metrics": {
+ "get": {
+ "operationId": "DatabaseAccounts_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountGetMetrics": {
+ "$ref": "./examples/CosmosDBDatabaseAccountGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The metrics for the database account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metrics": {
+ "get": {
+ "operationId": "Database_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseGetMetrics": {
+ "$ref": "./examples/CosmosDBDatabaseGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given database account and database.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The metrics for the database account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metrics": {
+ "get": {
+ "operationId": "Collection_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBCollectionGetMetrics": {
+ "$ref": "./examples/CosmosDBCollectionGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given database account and collection.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The metrics for the database account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/metrics": {
+ "get": {
+ "operationId": "CollectionRegion_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBRegionCollectionGetMetrics": {
+ "$ref": "./examples/CosmosDBRegionCollectionGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given database account, collection and region.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/regionParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The metrics for the database account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/metrics": {
+ "get": {
+ "operationId": "DatabaseAccountRegion_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": {
+ "$ref": "./examples/CosmosDBDatabaseAccountRegionGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given database account and region.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/regionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The metrics for the database account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sourceRegion/{sourceRegion}/targetRegion/{targetRegion}/percentile/metrics": {
+ "get": {
+ "operationId": "PercentileSourceTarget_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": {
+ "$ref": "./examples/CosmosDBPercentileSourceTargetGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given account, source and target region. This url is only for PBS and Replication Latency data",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/sourceRegionParameter"
+ },
+ {
+ "$ref": "#/parameters/targetRegionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The percentile metrics for the account, source and target regions were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PercentileMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/targetRegion/{targetRegion}/percentile/metrics": {
+ "get": {
+ "operationId": "PercentileTarget_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": {
+ "$ref": "./examples/CosmosDBPercentileTargetGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given account target region. This url is only for PBS and Replication Latency data",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/targetRegionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The percentile metrics for the account and target regions were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PercentileMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/percentile/metrics": {
+ "get": {
+ "operationId": "Percentile_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": {
+ "$ref": "./examples/CosmosDBPercentileGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given database account. This url is only for PBS and Replication Latency data",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The percentile metrics for the account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PercentileMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics": {
+ "get": {
+ "operationId": "CollectionPartitionRegion_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": {
+ "$ref": "./examples/CosmosDBCollectionPartitionRegionGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given collection and region, split by partition.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/regionParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The partition-level metrics for the collection and region were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PartitionMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics": {
+ "get": {
+ "operationId": "CollectionPartition_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": {
+ "$ref": "./examples/CosmosDBCollectionPartitionGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given collection, split by partition.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The partition-level metrics for the collection were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PartitionMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics": {
+ "get": {
+ "operationId": "PartitionKeyRangeId_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": {
+ "$ref": "./examples/CosmosDBPKeyRangeIdGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given partition key range id.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "#/parameters/partitionKeyRangeIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The partition-level metrics for the partition key range id were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PartitionMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics": {
+ "get": {
+ "operationId": "PartitionKeyRangeIdRegion_ListMetrics",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountRegionGetMetrics": {
+ "$ref": "./examples/CosmosDBPKeyRangeIdRegionGetMetrics.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the metrics determined by the given filter for the given partition key range id and region.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/regionParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "#/parameters/partitionKeyRangeIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The partition-level metrics for the partition key range id and region were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PartitionMetricListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/usages": {
+ "get": {
+ "operationId": "DatabaseAccounts_ListUsages",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountGetUsages": {
+ "$ref": "./examples/CosmosDBDatabaseAccountGetUsages.json"
+ }
+ },
+ "description": "Retrieves the usages (most recent data) for the given database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/usageFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The usages for the database account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/UsagesResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/usages": {
+ "get": {
+ "operationId": "Database_ListUsages",
+ "x-ms-examples": {
+ "CosmosDBDatabaseGetUsages": {
+ "$ref": "./examples/CosmosDBDatabaseGetUsages.json"
+ }
+ },
+ "description": "Retrieves the usages (most recent data) for the given database.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/usageFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The usages for the database were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/UsagesResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/usages": {
+ "get": {
+ "operationId": "Collection_ListUsages",
+ "x-ms-examples": {
+ "CosmosDBCollectionGetUsages": {
+ "$ref": "./examples/CosmosDBCollectionGetUsages.json"
+ }
+ },
+ "description": "Retrieves the usages (most recent storage data) for the given collection.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/usageFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The usages for the collection were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/UsagesResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/usages": {
+ "get": {
+ "operationId": "CollectionPartition_ListUsages",
+ "x-ms-examples": {
+ "CosmosDBCollectionGetUsages": {
+ "$ref": "./examples/CosmosDBCollectionPartitionGetUsages.json"
+ }
+ },
+ "description": "Retrieves the usages (most recent storage data) for the given collection, split by partition.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/usageFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The usages for the collection, per partition were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/PartitionUsagesResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metricDefinitions": {
+ "get": {
+ "operationId": "Database_ListMetricDefinitions",
+ "x-ms-examples": {
+ "CosmosDBDatabaseGetMetricDefinitions": {
+ "$ref": "./examples/CosmosDBDatabaseGetMetricDefinitions.json"
+ }
+ },
+ "description": "Retrieves metric definitions for the given database.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The metric definitions for the database were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MetricDefinitionsListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metricDefinitions": {
+ "get": {
+ "operationId": "Collection_ListMetricDefinitions",
+ "x-ms-examples": {
+ "CosmosDBCollectionGetMetricDefinitions": {
+ "$ref": "./examples/CosmosDBCollectionGetMetricDefinitions.json"
+ }
+ },
+ "description": "Retrieves metric definitions for the given collection.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionRidParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The metric definitions for the collection were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MetricDefinitionsListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metricDefinitions": {
+ "get": {
+ "operationId": "DatabaseAccounts_ListMetricDefinitions",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountGetMetricDefinitions": {
+ "$ref": "./examples/CosmosDBDatabaseAccountGetMetricDefinitions.json"
+ }
+ },
+ "description": "Retrieves metric definitions for the given database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The metric definitions for the database account were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MetricDefinitionsListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases": {
+ "get": {
+ "operationId": "SqlResources_ListSqlDatabases",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseList": {
+ "$ref": "./examples/CosmosDBSqlDatabaseList.json"
+ }
+ },
+ "description": "Lists the SQL databases under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL database properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlDatabaseListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlDatabase",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseGet": {
+ "$ref": "./examples/CosmosDBSqlDatabaseGet.json"
+ }
+ },
+ "description": "Gets the SQL database under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL database property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlDatabase",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlDatabaseCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB SQL database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlDatabaseParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlDatabaseCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current SQL database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL database create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL database create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlDatabase",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseDelete": {
+ "$ref": "./examples/CosmosDBSqlDatabaseDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB SQL database.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL database delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The SQL database delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default": {
+ "get": {
+ "operationId": "SqlResources_GetSqlDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseThroughputGet": {
+ "$ref": "./examples/CosmosDBSqlDatabaseThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the SQL database under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the SQL database was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_UpdateSqlDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseThroughputUpdate": {
+ "$ref": "./examples/CosmosDBSqlDatabaseThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB SQL database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The parameters to provide for the RUs per second of the current SQL database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the SQL database update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the SQL database update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "SqlResources_MigrateSqlDatabaseToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBSqlDatabaseMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB SQL database from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL database migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL database migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "SqlResources_MigrateSqlDatabaseToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB SQL database from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL database migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL database migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers": {
+ "get": {
+ "operationId": "SqlResources_ListSqlContainers",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerList": {
+ "$ref": "./examples/CosmosDBSqlContainerList.json"
+ }
+ },
+ "description": "Lists the SQL container under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL container properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlContainerListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlContainer",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerGet": {
+ "$ref": "./examples/CosmosDBSqlContainerGet.json"
+ }
+ },
+ "description": "Gets the SQL container under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL container property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlContainerGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlContainer",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlContainerCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB SQL container",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlContainerParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlContainerCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current SQL container."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL container create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL container create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlContainerGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlContainer",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerDelete": {
+ "$ref": "./examples/CosmosDBSqlContainerDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB SQL container.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL container delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The SQL container delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default": {
+ "get": {
+ "operationId": "SqlResources_GetSqlContainerThroughput",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerThroughputGet": {
+ "$ref": "./examples/CosmosDBSqlContainerThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the SQL container under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the SQL container was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_UpdateSqlContainerThroughput",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerThroughputUpdate": {
+ "$ref": "./examples/CosmosDBSqlContainerThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB SQL container",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The parameters to provide for the RUs per second of the current SQL container."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the SQL container update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the SQL container update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "SqlResources_MigrateSqlContainerToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBSqlContainerMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB SQL container from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL container migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL container migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "SqlResources_MigrateSqlContainerToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBSqlContainerMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB SQL container from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL container migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL container migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures": {
+ "get": {
+ "operationId": "SqlResources_ListSqlStoredProcedures",
+ "x-ms-examples": {
+ "CosmosDBSqlStoredProcedureList": {
+ "$ref": "./examples/CosmosDBSqlStoredProcedureList.json"
+ }
+ },
+ "description": "Lists the SQL storedProcedure under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL stored procedure properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlStoredProcedureListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlStoredProcedure",
+ "x-ms-examples": {
+ "CosmosDBSqlStoredProcedureGet": {
+ "$ref": "./examples/CosmosDBSqlStoredProcedureGet.json"
+ }
+ },
+ "description": "Gets the SQL storedProcedure under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/storedProcedureNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL storedProcedure property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlStoredProcedureGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlStoredProcedure",
+ "x-ms-examples": {
+ "CosmosDBSqlStoredProcedureCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlStoredProcedureCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB SQL storedProcedure",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/storedProcedureNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlStoredProcedureParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlStoredProcedureCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current SQL storedProcedure."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL storedProcedure create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL storedProcedure create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlStoredProcedureGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlStoredProcedure",
+ "x-ms-examples": {
+ "CosmosDBSqlStoredProcedureDelete": {
+ "$ref": "./examples/CosmosDBSqlStoredProcedureDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB SQL storedProcedure.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/storedProcedureNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL storedProcedure delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The SQL storedProcedure delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions": {
+ "get": {
+ "operationId": "SqlResources_ListSqlUserDefinedFunctions",
+ "x-ms-examples": {
+ "CosmosDBSqlUserDefinedFunctionList": {
+ "$ref": "./examples/CosmosDBSqlUserDefinedFunctionList.json"
+ }
+ },
+ "description": "Lists the SQL userDefinedFunction under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL userDefinedFunction properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlUserDefinedFunctionListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlUserDefinedFunction",
+ "x-ms-examples": {
+ "CosmosDBSqlUserDefinedFunctionGet": {
+ "$ref": "./examples/CosmosDBSqlUserDefinedFunctionGet.json"
+ }
+ },
+ "description": "Gets the SQL userDefinedFunction under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/userDefinedFunctionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL userDefinedFunction property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlUserDefinedFunctionGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlUserDefinedFunction",
+ "x-ms-examples": {
+ "CosmosDBSqlUserDefinedFunctionCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB SQL userDefinedFunction",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/userDefinedFunctionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlUserDefinedFunctionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlUserDefinedFunctionCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current SQL userDefinedFunction."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL userDefinedFunction create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL userDefinedFunction create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlUserDefinedFunctionGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlUserDefinedFunction",
+ "x-ms-examples": {
+ "CosmosDBSqlUserDefinedFunctionDelete": {
+ "$ref": "./examples/CosmosDBSqlUserDefinedFunctionDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB SQL userDefinedFunction.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/userDefinedFunctionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL userDefinedFunction delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The SQL userDefinedFunction delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers": {
+ "get": {
+ "operationId": "SqlResources_ListSqlTriggers",
+ "x-ms-examples": {
+ "CosmosDBSqlTriggerList": {
+ "$ref": "./examples/CosmosDBSqlTriggerList.json"
+ }
+ },
+ "description": "Lists the SQL trigger under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL trigger properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlTriggerListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlTrigger",
+ "x-ms-examples": {
+ "CosmosDBSqlTriggerGet": {
+ "$ref": "./examples/CosmosDBSqlTriggerGet.json"
+ }
+ },
+ "description": "Gets the SQL trigger under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/triggerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL trigger property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlTriggerGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlTrigger",
+ "x-ms-examples": {
+ "CosmosDBSqlTriggerCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlTriggerCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB SQL trigger",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/triggerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlTriggerParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlTriggerCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current SQL trigger."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL trigger create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL trigger create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlTriggerGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlTrigger",
+ "x-ms-examples": {
+ "CosmosDBSqlTriggerDelete": {
+ "$ref": "./examples/CosmosDBSqlTriggerDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB SQL trigger.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/triggerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL trigger delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The SQL trigger delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases": {
+ "get": {
+ "operationId": "MongoDBResources_ListMongoDBDatabases",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseList": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseList.json"
+ }
+ },
+ "description": "Lists the MongoDB databases under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The MongoDB database properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBDatabaseListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}": {
+ "get": {
+ "operationId": "MongoDBResources_GetMongoDBDatabase",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseGet": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseGet.json"
+ }
+ },
+ "description": "Gets the MongoDB databases under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The MongoDB database property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "MongoDBResources_CreateUpdateMongoDBDatabase",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseCreateUpdate": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseCreateUpdate.json"
+ }
+ },
+ "description": "Create or updates Azure Cosmos DB MongoDB database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateMongoDBDatabaseParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MongoDBDatabaseCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current MongoDB database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB database create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB database create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "MongoDBResources_DeleteMongoDBDatabase",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseDelete": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB MongoDB database.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB database delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The MongoDB database delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default": {
+ "get": {
+ "operationId": "MongoDBResources_GetMongoDBDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseThroughputGet": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the MongoDB database under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the MongoDB database was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "MongoDBResources_UpdateMongoDBDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseThroughputUpdate": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of the an Azure Cosmos DB MongoDB database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current MongoDB database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the MongoDB database update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the MongoDB database update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "MongoDBResources_MigrateMongoDBDatabaseToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB MongoDB database from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB database migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB database migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "MongoDBResources_MigrateMongoDBDatabaseToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB MongoDB database from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB database migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB database migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections": {
+ "get": {
+ "operationId": "MongoDBResources_ListMongoDBCollections",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionList": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionList.json"
+ }
+ },
+ "description": "Lists the MongoDB collection under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The MongoDB collection properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBCollectionListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}": {
+ "get": {
+ "operationId": "MongoDBResources_GetMongoDBCollection",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionGet": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionGet.json"
+ }
+ },
+ "description": "Gets the MongoDB collection under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The MongoDB collection property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBCollectionGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "MongoDBResources_CreateUpdateMongoDBCollection",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionCreateUpdate": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB MongoDB Collection",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateMongoDBCollectionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MongoDBCollectionCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current MongoDB Collection."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB Collection create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB Collection create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBCollectionGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "MongoDBResources_DeleteMongoDBCollection",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionDelete": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB MongoDB Collection.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB collection delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The MongoDB collection delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default": {
+ "get": {
+ "operationId": "MongoDBResources_GetMongoDBCollectionThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionThroughputGet": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the MongoDB collection under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the MongoDB collection was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "MongoDBResources_UpdateMongoDBCollectionThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionThroughputUpdate": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionThroughputUpdate.json"
+ }
+ },
+ "description": "Update the RUs per second of an Azure Cosmos DB MongoDB collection",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current MongoDB collection."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the MongoDB collection update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the MongoDB collection update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "MongoDBResources_MigrateMongoDBCollectionToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB MongoDB collection from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB collection migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB collection migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "MongoDBResources_MigrateMongoDBCollectionToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB MongoDB collection from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB collection migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB collection migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables": {
+ "get": {
+ "operationId": "TableResources_ListTables",
+ "x-ms-examples": {
+ "CosmosDBTableList": {
+ "$ref": "./examples/CosmosDBTableList.json"
+ }
+ },
+ "description": "Lists the Tables under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Table properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/TableListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}": {
+ "get": {
+ "operationId": "TableResources_GetTable",
+ "x-ms-examples": {
+ "CosmosDBTableGet": {
+ "$ref": "./examples/CosmosDBTableGet.json"
+ }
+ },
+ "description": "Gets the Tables under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Table property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/TableGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "TableResources_CreateUpdateTable",
+ "x-ms-examples": {
+ "CosmosDBTableReplace": {
+ "$ref": "./examples/CosmosDBTableCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Table",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateTableParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TableCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Table."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Table create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Table create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/TableGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "TableResources_DeleteTable",
+ "x-ms-examples": {
+ "CosmosDBTableDelete": {
+ "$ref": "./examples/CosmosDBTableDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Table.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Table delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Table delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default": {
+ "get": {
+ "operationId": "TableResources_GetTableThroughput",
+ "x-ms-examples": {
+ "CosmosDBTableThroughputGet": {
+ "$ref": "./examples/CosmosDBTableThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the Table under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Table was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "TableResources_UpdateTableThroughput",
+ "x-ms-examples": {
+ "CosmosDBTableThroughputUpdate": {
+ "$ref": "./examples/CosmosDBTableThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Table",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The parameters to provide for the RUs per second of the current Table."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Table update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Table update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "TableResources_MigrateTableToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBTableMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBTableMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Table from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Table migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Table migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "TableResources_MigrateTableToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBTableMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBTableMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Table from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Table migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Table migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces": {
+ "get": {
+ "operationId": "CassandraResources_ListCassandraKeyspaces",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceList": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceList.json"
+ }
+ },
+ "description": "Lists the Cassandra keyspaces under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cassandra keyspace properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraKeyspaceListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}": {
+ "get": {
+ "operationId": "CassandraResources_GetCassandraKeyspace",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceGet": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceGet.json"
+ }
+ },
+ "description": "Gets the Cassandra keyspaces under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cassandra keyspace property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraKeyspaceGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "CassandraResources_CreateUpdateCassandraKeyspace",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceCreateUpdate": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Cassandra keyspace",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateCassandraKeyspaceParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CassandraKeyspaceCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Cassandra keyspace."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra keyspace create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra keyspace create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraKeyspaceGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "CassandraResources_DeleteCassandraKeyspace",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceDelete": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Cassandra keyspace.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra keyspace delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Cassandra keyspace delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default": {
+ "get": {
+ "operationId": "CassandraResources_GetCassandraKeyspaceThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceThroughputGet": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the Cassandra Keyspace under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Cassandra Keyspace was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "CassandraResources_UpdateCassandraKeyspaceThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceThroughputUpdate": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Cassandra Keyspace",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current Cassandra Keyspace."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Cassandra Keyspace update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Cassandra Keyspace update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "CassandraResources_MigrateCassandraKeyspaceToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Cassandra Keyspace from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra Keyspace migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra Keyspace migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "CassandraResources_MigrateCassandraKeyspaceToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Cassandra Keyspace from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra Keyspace migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra Keyspace migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables": {
+ "get": {
+ "operationId": "CassandraResources_ListCassandraTables",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableList": {
+ "$ref": "./examples/CosmosDBCassandraTableList.json"
+ }
+ },
+ "description": "Lists the Cassandra table under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cassandra table properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraTableListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}": {
+ "get": {
+ "operationId": "CassandraResources_GetCassandraTable",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableGet": {
+ "$ref": "./examples/CosmosDBCassandraTableGet.json"
+ }
+ },
+ "description": "Gets the Cassandra table under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cassandra table property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraTableGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "CassandraResources_CreateUpdateCassandraTable",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableCreateUpdate": {
+ "$ref": "./examples/CosmosDBCassandraTableCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Cassandra Table",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateCassandraTableParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CassandraTableCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Cassandra Table."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra Table create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra Table create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraTableGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "CassandraResources_DeleteCassandraTable",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableDelete": {
+ "$ref": "./examples/CosmosDBCassandraTableDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Cassandra table.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra table delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Cassandra table delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default": {
+ "get": {
+ "operationId": "CassandraResources_GetCassandraTableThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableThroughputGet": {
+ "$ref": "./examples/CosmosDBCassandraTableThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the Cassandra table under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Cassandra table was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "CassandraResources_UpdateCassandraTableThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableThroughputUpdate": {
+ "$ref": "./examples/CosmosDBCassandraTableThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Cassandra table",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current Cassandra table."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Cassandra table update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Cassandra table update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "CassandraResources_MigrateCassandraTableToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBCassandraTableMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Cassandra table from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra table migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra table migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "CassandraResources_MigrateCassandraTableToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBCassandraTableMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Cassandra table from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra table migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra table migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases": {
+ "get": {
+ "operationId": "GremlinResources_ListGremlinDatabases",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseList": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseList.json"
+ }
+ },
+ "description": "Lists the Gremlin databases under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Gremlin database properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinDatabaseListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}": {
+ "get": {
+ "operationId": "GremlinResources_GetGremlinDatabase",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseGet": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseGet.json"
+ }
+ },
+ "description": "Gets the Gremlin databases under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Gremlin database property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "GremlinResources_CreateUpdateGremlinDatabase",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseCreateUpdate": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Gremlin database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateGremlinDatabaseParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GremlinDatabaseCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Gremlin database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin database create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin database create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "GremlinResources_DeleteGremlinDatabase",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseDelete": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Gremlin database.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin database delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Gremlin database delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default": {
+ "get": {
+ "operationId": "GremlinResources_GetGremlinDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseThroughputGet": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the Gremlin database under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Gremlin database was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "GremlinResources_UpdateGremlinDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseThroughputUpdate": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Gremlin database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current Gremlin database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Gremlin database update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Gremlin database update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "GremlinResources_MigrateGremlinDatabaseToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Gremlin database from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin database migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin database migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "GremlinResources_MigrateGremlinDatabaseToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Gremlin database from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin database migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin database migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs": {
+ "get": {
+ "operationId": "GremlinResources_ListGremlinGraphs",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphList": {
+ "$ref": "./examples/CosmosDBGremlinGraphList.json"
+ }
+ },
+ "description": "Lists the Gremlin graph under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Gremlin graph properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinGraphListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}": {
+ "get": {
+ "operationId": "GremlinResources_GetGremlinGraph",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphGet": {
+ "$ref": "./examples/CosmosDBGremlinGraphGet.json"
+ }
+ },
+ "description": "Gets the Gremlin graph under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Gremlin graph property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinGraphGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "GremlinResources_CreateUpdateGremlinGraph",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphCreateUpdate": {
+ "$ref": "./examples/CosmosDBGremlinGraphCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Gremlin graph",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateGremlinGraphParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GremlinGraphCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Gremlin graph."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin graph create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin graph create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinGraphGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "GremlinResources_DeleteGremlinGraph",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphDelete": {
+ "$ref": "./examples/CosmosDBGremlinGraphDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Gremlin graph.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin graph delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Gremlin graph delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default": {
+ "get": {
+ "operationId": "GremlinResources_GetGremlinGraphThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphThroughputGet": {
+ "$ref": "./examples/CosmosDBGremlinGraphThroughputGet.json"
+ }
+ },
+ "description": "Gets the Gremlin graph throughput under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Gremlin graph was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "GremlinResources_UpdateGremlinGraphThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphThroughputUpdate": {
+ "$ref": "./examples/CosmosDBGremlinGraphThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Gremlin graph",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current Gremlin graph."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Gremlin graph update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Gremlin graph update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "GremlinResources_MigrateGremlinGraphToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBGremlinGraphMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Gremlin graph from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin graph migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin graph migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "GremlinResources_MigrateGremlinGraphToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBGremlinGraphMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Gremlin graph from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin graph migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin graph migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts": {
+ "get": {
+ "operationId": "RestorableDatabaseAccounts_ListByLocation",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountList": {
+ "$ref": "./examples/CosmosDBRestorableDatabaseAccountList.json"
+ }
+ },
+ "description": "Lists all the restorable Azure Cosmos DB database accounts available under the subscription and in a region. This call requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read' permission.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/RestorableDatabaseAccountsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/restorableDatabaseAccounts": {
+ "get": {
+ "operationId": "RestorableDatabaseAccounts_List",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountList": {
+ "$ref": "./examples/CosmosDBRestorableDatabaseAccountNoLocationList.json"
+ }
+ },
+ "description": "Lists all the restorable Azure Cosmos DB database accounts available under the subscription. This call requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read' permission.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/RestorableDatabaseAccountsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/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",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountGet": {
+ "$ref": "./examples/CosmosDBRestorableDatabaseAccountGet.json"
+ }
+ },
+ "description": "Retrieves the properties of an existing Azure Cosmos DB restorable database account. This call requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read/*' permission.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/instanceIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The restorable database account properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/RestorableDatabaseAccountGetResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/retrieveContinuousBackupInformation": {
+ "post": {
+ "operationId": "SqlResources_RetrieveContinuousBackupInformation",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerBackupInformation": {
+ "$ref": "./examples/CosmosDBBackupInformation.json"
+ }
+ },
+ "description": "Retrieves continuous backup information for a container resource.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "location",
+ "required": true,
+ "description": "The name of the continuous backup restore location.",
+ "schema": {
+ "$ref": "#/definitions/ContinuousBackupRestoreLocation"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Sql container retrieve backup information operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/BackupInformation"
+ }
+ },
+ "202": {
+ "description": "The sql container retrieve backup information operation will complete asynchronously."
+ }
+ }
+ }
+ }
+ },
+ "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."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "description": "An error response from the service.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "FailoverPolicies": {
+ "properties": {
+ "failoverPolicies": {
+ "type": "array",
+ "description": "List of failover policies.",
+ "items": {
+ "$ref": "#/definitions/FailoverPolicy"
+ }
+ }
+ },
+ "required": [
+ "failoverPolicies"
+ ],
+ "description": "The list of new failover policies for the failover priority change."
+ },
+ "FailoverPolicy": {
+ "type": "object",
+ "description": "The failover policy for a given region of a database account.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The unique identifier of the region in which the database account replicates to. Example: <accountName>-<locationName>."
+ },
+ "locationName": {
+ "type": "string",
+ "description": "The name of the region in which the database account exists."
+ },
+ "failoverPriority": {
+ "type": "integer",
+ "minimum": 0,
+ "format": "int32",
+ "description": "The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists."
+ }
+ }
+ },
+ "RegionForOnlineOffline": {
+ "properties": {
+ "region": {
+ "type": "string",
+ "description": "Cosmos DB region, with spaces between words and each word capitalized."
+ }
+ },
+ "required": [
+ "region"
+ ],
+ "description": "Cosmos DB region to online or offline."
+ },
+ "Location": {
+ "description": "A region in which the Azure Cosmos DB database account is deployed.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The unique identifier of the region within the database account. Example: <accountName>-<locationName>."
+ },
+ "locationName": {
+ "type": "string",
+ "description": "The name of the region."
+ },
+ "documentEndpoint": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The connection endpoint for the specific region. Example: https://<accountName>-<locationName>.documents.azure.com:443/"
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState"
+ },
+ "failoverPriority": {
+ "description": "The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 0
+ },
+ "isZoneRedundant": {
+ "type": "boolean",
+ "description": "Flag to indicate whether or not this region is an AvailabilityZone region"
+ }
+ }
+ },
+ "ARMResourceProperties": {
+ "type": "object",
+ "description": "The core properties of ARM resources.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique resource identifier of the ARM resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the ARM resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of Azure resource."
+ },
+ "location": {
+ "type": "string",
+ "description": "The location of the resource group to which the resource belongs."
+ },
+ "tags": {
+ "$ref": "#/definitions/Tags"
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedServiceIdentity"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ARMProxyResource": {
+ "type": "object",
+ "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique resource identifier of the database account."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the database account."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of Azure resource."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "DatabaseAccountGetResults": {
+ "description": "An Azure Cosmos DB database account.",
+ "type": "object",
+ "properties": {
+ "kind": {
+ "description": "Indicates the type of database account. This can only be set at database account creation.",
+ "type": "string",
+ "default": "GlobalDocumentDB",
+ "enum": [
+ "GlobalDocumentDB",
+ "MongoDB",
+ "Parse"
+ ],
+ "x-ms-enum": {
+ "name": "DatabaseAccountKind",
+ "modelAsString": true
+ }
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DatabaseAccountGetProperties"
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "ExtendedResourceProperties": {
+ "description": "The system generated resource properties associated with SQL databases, SQL containers, Gremlin databases and Gremlin graphs.",
+ "type": "object",
+ "properties": {
+ "_rid": {
+ "type": "string",
+ "description": "A system generated property. A unique identifier.",
+ "readOnly": true
+ },
+ "_ts": {
+ "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": "../../preview/2021-04-01-preview/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"
+ },
+ "instanceId": {
+ "description": "A unique identifier assigned to the database account",
+ "type": "string",
+ "readOnly": true
+ },
+ "createMode": {
+ "description": "Enum to indicate the mode of account creation.",
+ "type": "string",
+ "default": "Default",
+ "$ref": "#/definitions/CreateMode"
+ },
+ "restoreParameters": {
+ "description": "Parameters to indicate the information about the restore.",
+ "type": "object",
+ "$ref": "#/definitions/RestoreParameters"
+ },
+ "backupPolicy": {
+ "description": "The object representing the policy for taking backups on an account.",
+ "type": "object",
+ "$ref": "#/definitions/BackupPolicy"
+ },
+ "cors": {
+ "type": "array",
+ "description": "The CORS policy for the Cosmos DB database account.",
+ "items": {
+ "$ref": "#/definitions/CorsPolicy"
+ }
+ },
+ "networkAclBypass": {
+ "description": "Indicates what services are allowed to bypass firewall checks.",
+ "$ref": "#/definitions/NetworkAclBypass"
+ },
+ "networkAclBypassResourceIds": {
+ "type": "array",
+ "description": "An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DatabaseAccountCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB database accounts.",
+ "type": "object",
+ "discriminator": "createMode",
+ "properties": {
+ "consistencyPolicy": {
+ "description": "The consistency policy for the Cosmos DB account.",
+ "$ref": "#/definitions/ConsistencyPolicy"
+ },
+ "locations": {
+ "type": "array",
+ "description": "An array that contains the georeplication locations enabled for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/Location"
+ }
+ },
+ "databaseAccountOfferType": {
+ "description": "The offer type for the database",
+ "$ref": "#/definitions/DatabaseAccountOfferType"
+ },
+ "ipRules": {
+ "description": "List of IpRules.",
+ "$ref": "#/definitions/IPRules"
+ },
+ "isVirtualNetworkFilterEnabled": {
+ "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules.",
+ "type": "boolean"
+ },
+ "enableAutomaticFailover": {
+ "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.",
+ "type": "boolean"
+ },
+ "capabilities": {
+ "type": "array",
+ "description": "List of Cosmos DB capabilities for the account",
+ "items": {
+ "$ref": "#/definitions/Capability"
+ }
+ },
+ "virtualNetworkRules": {
+ "type": "array",
+ "description": "List of Virtual Network ACL rules configured for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkRule"
+ }
+ },
+ "enableMultipleWriteLocations": {
+ "description": "Enables the account to write in multiple locations",
+ "type": "boolean"
+ },
+ "enableCassandraConnector": {
+ "description": "Enables the cassandra connector on the Cosmos DB C* account",
+ "type": "boolean"
+ },
+ "connectorOffer": {
+ "description": "The cassandra connector offer type for the Cosmos DB database C* account.",
+ "$ref": "#/definitions/ConnectorOffer"
+ },
+ "disableKeyBasedMetadataWriteAccess": {
+ "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys",
+ "type": "boolean"
+ },
+ "keyVaultKeyUri": {
+ "description": "The URI of the key vault",
+ "type": "string"
+ },
+ "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"
+ },
+ "createMode": {
+ "description": "Enum to indicate the mode of account creation.",
+ "type": "string",
+ "default": "Default",
+ "$ref": "#/definitions/CreateMode"
+ },
+ "backupPolicy": {
+ "description": "The object representing the policy for taking backups on an account.",
+ "type": "object",
+ "$ref": "#/definitions/BackupPolicy"
+ },
+ "cors": {
+ "type": "array",
+ "description": "The CORS policy for the Cosmos DB database account.",
+ "items": {
+ "$ref": "#/definitions/CorsPolicy"
+ }
+ },
+ "networkAclBypass": {
+ "description": "Indicates what services are allowed to bypass firewall checks.",
+ "$ref": "#/definitions/NetworkAclBypass"
+ },
+ "networkAclBypassResourceIds": {
+ "type": "array",
+ "description": "An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "locations",
+ "databaseAccountOfferType",
+ "createMode"
+ ]
+ },
+ "DefaultRequestDatabaseAccountCreateUpdateProperties": {
+ "description": "Properties for non-restore Azure Cosmos DB database account requests.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DatabaseAccountCreateUpdateProperties"
+ }
+ ],
+ "x-ms-discriminator-value": "Default"
+ },
+ "RestoreReqeustDatabaseAccountCreateUpdateProperties": {
+ "description": "Properties to restore Azure Cosmos DB database account.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DatabaseAccountCreateUpdateProperties"
+ }
+ ],
+ "properties": {
+ "restoreParameters": {
+ "description": "Parameters to indicate the information about the restore.",
+ "type": "object",
+ "$ref": "#/definitions/RestoreParameters"
+ }
+ },
+ "x-ms-discriminator-value": "Restore"
+ },
+ "DatabaseAccountCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB database accounts.",
+ "type": "object",
+ "properties": {
+ "kind": {
+ "description": "Indicates the type of database account. This can only be set at database account creation.",
+ "type": "string",
+ "default": "GlobalDocumentDB",
+ "enum": [
+ "GlobalDocumentDB",
+ "MongoDB",
+ "Parse"
+ ],
+ "x-ms-enum": {
+ "name": "DatabaseAccountKind",
+ "modelAsString": true
+ }
+ },
+ "properties": {
+ "$ref": "#/definitions/DatabaseAccountCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "DatabaseAccountUpdateProperties": {
+ "description": "Properties to update Azure Cosmos DB database accounts.",
+ "type": "object",
+ "properties": {
+ "consistencyPolicy": {
+ "description": "The consistency policy for the Cosmos DB account.",
+ "$ref": "#/definitions/ConsistencyPolicy"
+ },
+ "locations": {
+ "type": "array",
+ "description": "An array that contains the georeplication locations enabled for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/Location"
+ }
+ },
+ "ipRules": {
+ "description": "List of IpRules.",
+ "$ref": "#/definitions/IPRules"
+ },
+ "isVirtualNetworkFilterEnabled": {
+ "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules.",
+ "type": "boolean"
+ },
+ "enableAutomaticFailover": {
+ "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.",
+ "type": "boolean"
+ },
+ "capabilities": {
+ "type": "array",
+ "description": "List of Cosmos DB capabilities for the account",
+ "items": {
+ "$ref": "#/definitions/Capability"
+ }
+ },
+ "virtualNetworkRules": {
+ "type": "array",
+ "description": "List of Virtual Network ACL rules configured for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkRule"
+ }
+ },
+ "enableMultipleWriteLocations": {
+ "description": "Enables the account to write in multiple locations",
+ "type": "boolean"
+ },
+ "enableCassandraConnector": {
+ "description": "Enables the cassandra connector on the Cosmos DB C* account",
+ "type": "boolean"
+ },
+ "connectorOffer": {
+ "description": "The cassandra connector offer type for the Cosmos DB database C* account.",
+ "$ref": "#/definitions/ConnectorOffer"
+ },
+ "disableKeyBasedMetadataWriteAccess": {
+ "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys",
+ "type": "boolean"
+ },
+ "keyVaultKeyUri": {
+ "description": "The URI of the key vault",
+ "type": "string"
+ },
+ "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."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DatabaseAccountUpdateProperties"
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedServiceIdentity"
+ }
+ }
+ },
+ "DatabaseAccountListReadOnlyKeysResult": {
+ "description": "The read-only access keys for the given database account.",
+ "properties": {
+ "primaryReadonlyMasterKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Base 64 encoded value of the primary read-only key."
+ },
+ "secondaryReadonlyMasterKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Base 64 encoded value of the secondary read-only key."
+ }
+ }
+ },
+ "DatabaseAccountListKeysResult": {
+ "description": "The access keys for the given database account.",
+ "properties": {
+ "primaryMasterKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Base 64 encoded value of the primary read-write key."
+ },
+ "secondaryMasterKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Base 64 encoded value of the secondary read-write key."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DatabaseAccountListReadOnlyKeysResult"
+ }
+ ]
+ },
+ "DatabaseAccountConnectionString": {
+ "description": "Connection string for the Cosmos DB account",
+ "properties": {
+ "connectionString": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Value of the connection string"
+ },
+ "description": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Description of the connection string"
+ }
+ }
+ },
+ "DatabaseAccountListConnectionStringsResult": {
+ "description": "The connection strings for the given database account.",
+ "properties": {
+ "connectionStrings": {
+ "type": "array",
+ "description": "An array that contains the connection strings for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/DatabaseAccountConnectionString"
+ }
+ }
+ }
+ },
+ "DatabaseAccountRegenerateKeyParameters": {
+ "type": "object",
+ "description": "Parameters to regenerate the keys within the database account.",
+ "properties": {
+ "keyKind": {
+ "type": "string",
+ "description": "The access key to regenerate.",
+ "enum": [
+ "primary",
+ "secondary",
+ "primaryReadonly",
+ "secondaryReadonly"
+ ],
+ "x-ms-enum": {
+ "name": "KeyKind",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "keyKind"
+ ]
+ },
+ "DatabaseAccountOfferType": {
+ "description": "The offer type for the Cosmos DB database account.",
+ "type": "string",
+ "enum": [
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "DatabaseAccountOfferType",
+ "modelAsString": false
+ }
+ },
+ "ThroughputSettingsUpdateParameters": {
+ "description": "Parameters to update Cosmos DB resource throughput.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to update Azure Cosmos DB resource throughput.",
+ "$ref": "#/definitions/ThroughputSettingsUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "ThroughputSettingsUpdateProperties": {
+ "description": "Properties to update Azure Cosmos DB resource throughput.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a resource throughput",
+ "$ref": "#/definitions/ThroughputSettingsResource"
+ }
+ },
+ "required": [
+ "resource"
+ ]
+ },
+ "SqlDatabaseCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB SQL database.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB SQL database.",
+ "$ref": "#/definitions/SqlDatabaseCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "SqlDatabaseCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB SQL database.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a SQL database",
+ "$ref": "#/definitions/SqlDatabaseResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource"
+ ]
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "CreateMode": {
+ "description": "Enum to indicate the mode of account creation.",
+ "type": "string",
+ "default": "Default",
+ "enum": [
+ "Default",
+ "Restore"
+ ],
+ "x-ms-enum": {
+ "name": "CreateMode",
+ "modelAsString": true
+ }
+ },
+ "RestoreParameters": {
+ "type": "object",
+ "description": "Parameters to indicate the information about the restore.",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "properties": {
+ "restoreMode": {
+ "type": "string",
+ "enum": [
+ "PointInTime"
+ ],
+ "description": "Describes the mode of the restore.",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "RestoreMode"
+ }
+ },
+ "restoreSource": {
+ "type": "string",
+ "description": "The id of the restorable database account from which the restore has to be initiated. For example: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName}"
+ },
+ "restoreTimestampInUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time to which the account has to be restored (ISO-8601 format)."
+ },
+ "databasesToRestore": {
+ "type": "array",
+ "description": "List of specific databases available for restore.",
+ "items": {
+ "$ref": "#/definitions/DatabaseRestoreResource"
+ }
+ }
+ }
+ },
+ "DatabaseRestoreResource": {
+ "type": "object",
+ "description": "Specific Databases to restore.",
+ "properties": {
+ "databaseName": {
+ "type": "string",
+ "description": "The name of the database available for restore."
+ },
+ "collectionNames": {
+ "type": "array",
+ "description": "The names of the collections available for restore.",
+ "items": {
+ "$ref": "#/definitions/CollectionName"
+ }
+ }
+ }
+ },
+ "CollectionName": {
+ "type": "string",
+ "description": "The name of the collection."
+ },
+ "BackupPolicy": {
+ "type": "object",
+ "description": "The object representing the policy for taking backups on an account.",
+ "discriminator": "type",
+ "properties": {
+ "type": {
+ "type": "string",
+ "$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"
+ },
+ "backupStorageRedundancy": {
+ "description": "Enum to indicate type of backup residency",
+ "type": "string",
+ "$ref": "#/definitions/BackupStorageRedundancy"
+ }
+ }
+ },
+ "RestorableDatabaseAccountsListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RestorableDatabaseAccountGetResult"
+ },
+ "description": "List of restorable database accounts and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the restorable database accounts and their properties."
+ },
+ "RestorableDatabaseAccountGetResult": {
+ "description": "A Azure Cosmos DB restorable database account.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a restorable database account.",
+ "$ref": "#/definitions/RestorableDatabaseAccountProperties"
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique resource identifier of the ARM resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the ARM resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of Azure resource."
+ },
+ "location": {
+ "type": "string",
+ "description": "The location of the resource group to which the resource belongs."
+ }
+ }
+ },
+ "RestorableDatabaseAccountProperties": {
+ "type": "object",
+ "description": "The properties of a restorable database account.",
+ "properties": {
+ "accountName": {
+ "type": "string",
+ "description": "The name of the global database account"
+ },
+ "creationTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The creation time of the restorable database account (ISO-8601 format)."
+ },
+ "deletionTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time at which the restorable database account has been deleted (ISO-8601 format)."
+ },
+ "apiType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The API type of the restorable database account.",
+ "$ref": "#/definitions/ApiType"
+ },
+ "restorableLocations": {
+ "type": "array",
+ "readOnly": true,
+ "description": "List of regions where the of the database account can be restored from.",
+ "items": {
+ "$ref": "#/definitions/RestorableLocationResource"
+ }
+ }
+ }
+ },
+ "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",
+ "readOnly": true,
+ "enum": [
+ "MongoDB",
+ "Gremlin",
+ "Cassandra",
+ "Table",
+ "Sql",
+ "GremlinV2"
+ ],
+ "x-ms-enum": {
+ "name": "ApiType",
+ "modelAsString": true
+ }
+ },
+ "RestorableLocationResource": {
+ "type": "object",
+ "description": "Properties of the regional restorable account.",
+ "properties": {
+ "locationName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The location of the regional restorable account."
+ },
+ "regionalDatabaseAccountInstanceId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The instance id of the regional restorable account."
+ },
+ "creationTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The creation time of the regional restorable database account (ISO-8601 format)."
+ },
+ "deletionTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The time at which the regional restorable database account has been deleted (ISO-8601 format)."
+ }
+ }
+ },
+ "BackupStorageRedundancy": {
+ "description": "Enum to indicate type of backup storage redundancy.",
+ "type": "string",
+ "enum": [
+ "Geo",
+ "Local",
+ "Zone"
+ ],
+ "x-ms-enum": {
+ "name": "BackupStorageRedundancy",
+ "modelAsString": true
+ }
+ },
+ "ContinuousBackupRestoreLocation": {
+ "type": "object",
+ "description": "Properties of the regional restorable account.",
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "The name of the continuous backup restore location."
+ }
+ }
+ },
+ "BackupInformation": {
+ "description": "Backup information of a resource.",
+ "type": "object",
+ "properties": {
+ "continuousBackupInformation": {
+ "type": "object",
+ "$ref": "#/definitions/ContinuousBackupInformation"
+ }
+ }
+ },
+ "ContinuousBackupInformation": {
+ "description": "Continuous backup description.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "latestRestorableTimestamp": {
+ "type": "string",
+ "description": "The latest restorable timestamp for a resource."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method",
+ "description": "Name of an Azure resource group."
+ },
+ "accountNameParameter": {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB database account name.",
+ "minLength": 3,
+ "maxLength": 50,
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*"
+ },
+ "filterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "An OData filter expression that describes a subset of metrics to return. The parameters that can be filtered are name.value (name of the metric, can have an or of multiple names), startTime, endTime, and timeGrain. The supported operator is eq."
+ },
+ "usageFilterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "An OData filter expression that describes a subset of usages to return. The supported parameter is name.value (name of the metric, can have an or of multiple names)."
+ },
+ "databaseRidParameter": {
+ "name": "databaseRid",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB database rid."
+ },
+ "collectionRidParameter": {
+ "name": "collectionRid",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB collection rid."
+ },
+ "databaseNameParameter": {
+ "name": "databaseName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB database name."
+ },
+ "containerNameParameter": {
+ "name": "containerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB container name."
+ },
+ "storedProcedureNameParameter": {
+ "name": "storedProcedureName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB storedProcedure name."
+ },
+ "userDefinedFunctionNameParameter": {
+ "name": "userDefinedFunctionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB userDefinedFunction name."
+ },
+ "triggerNameParameter": {
+ "name": "triggerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB trigger name."
+ },
+ "tableNameParameter": {
+ "name": "tableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB table name."
+ },
+ "collectionNameParameter": {
+ "name": "collectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB collection name."
+ },
+ "keyspaceNameParameter": {
+ "name": "keyspaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB keyspace name."
+ },
+ "graphNameParameter": {
+ "name": "graphName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB graph name."
+ },
+ "regionParameter": {
+ "name": "region",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB region, with spaces between words and each word capitalized."
+ },
+ "sourceRegionParameter": {
+ "name": "sourceRegion",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Source region from which data is written. Cosmos DB region, with spaces between words and each word capitalized."
+ },
+ "targetRegionParameter": {
+ "name": "targetRegion",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Target region to which data is written. Cosmos DB region, with spaces between words and each word capitalized."
+ },
+ "partitionKeyRangeIdParameter": {
+ "name": "partitionKeyRangeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Partition Key Range Id for which to get data."
+ },
+ "locationParameter": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB region, with spaces between words and each word capitalized."
+ },
+ "instanceIdParameter": {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The instanceId GUID of a restorable database account."
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBBackupInformation.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBBackupInformation.json
new file mode 100644
index 000000000000..26c794a42eb6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBBackupInformation.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2014-04-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "location": {
+ "location": "North Europe"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "continuousBackupInformation": {
+ "latestRestorableTimestamp": "2021-02-05T02:40:50Z"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraKeyspaceCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
new file mode 100644
index 000000000000..0eb33b36068f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "createUpdateCassandraKeyspaceParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "keyspaceName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName",
+ "name": "keyspaceName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "keyspaceName"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraKeyspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraKeyspaceDelete.json
new file mode 100644
index 000000000000..3b3b14130efb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraKeyspaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraKeyspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraKeyspaceGet.json
new file mode 100644
index 000000000000..dcb538e09715
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraKeyspaceGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName",
+ "name": "keyspaceName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "keyspaceName",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraKeyspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraKeyspaceList.json
new file mode 100644
index 000000000000..bf694247228a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraKeyspaceList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName",
+ "name": "keyspaceName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "keyspaceName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json
new file mode 100644
index 000000000000..4b41cdf7e1ea
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "autoscaleSettings": {
+ "maxThroughput": 4000
+ },
+ "minimumThroughput": "4000",
+ "offerReplacePending": "false",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json
new file mode 100644
index 000000000000..25e6a83ffa43
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "false",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraKeyspaceThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraKeyspaceThroughputGet.json
new file mode 100644
index 000000000000..3733cffebf3e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraKeyspaceThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
new file mode 100644
index 000000000000..7be7af8bb81e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraTableCreateUpdate.json
new file mode 100644
index 000000000000..1e4cf3a64507
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraTableCreateUpdate.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName",
+ "createUpdateCassandraTableParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "tableName",
+ "defaultTtl": 100,
+ "analyticalStorageTtl": 500,
+ "schema": {
+ "columns": [
+ {
+ "name": "columnA",
+ "type": "Ascii"
+ }
+ ],
+ "partitionKeys": [
+ {
+ "name": "columnA"
+ }
+ ],
+ "clusterKeys": [
+ {
+ "name": "columnA",
+ "orderBy": "Asc"
+ }
+ ]
+ }
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "tableName",
+ "defaultTtl": 100,
+ "analyticalStorageTtl": 500,
+ "schema": {
+ "columns": [
+ {
+ "name": "columnA",
+ "type": "Ascii"
+ }
+ ],
+ "partitionKeys": [
+ {
+ "name": "columnA"
+ }
+ ],
+ "clusterKeys": [
+ {
+ "name": "columnA",
+ "orderBy": "Asc"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraTableDelete.json
new file mode 100644
index 000000000000..5c09ad3a4a43
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraTableDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraTableGet.json
new file mode 100644
index 000000000000..394caeea530d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraTableGet.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "tableName",
+ "defaultTtl": 100,
+ "analyticalStorageTtl": 500,
+ "schema": {
+ "columns": [
+ {
+ "name": "columnA",
+ "type": "Ascii"
+ }
+ ],
+ "partitionKeys": [
+ {
+ "name": "columnA"
+ }
+ ],
+ "clusterKeys": [
+ {
+ "name": "columnA",
+ "orderBy": "Asc"
+ }
+ ]
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraTableList.json
new file mode 100644
index 000000000000..b2b818dd0832
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraTableList.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "tableName",
+ "defaultTtl": 100,
+ "analyticalStorageTtl": 500,
+ "schema": {
+ "columns": [
+ {
+ "name": "columnA",
+ "type": "Ascii"
+ }
+ ],
+ "partitionKeys": [
+ {
+ "name": "columnA"
+ }
+ ],
+ "clusterKeys": [
+ {
+ "name": "columnA",
+ "orderBy": "Asc"
+ }
+ ]
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraTableMigrateToAutoscale.json
new file mode 100644
index 000000000000..c061c14ce026
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraTableMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "autoscaleSettings": {
+ "maxThroughput": 4000
+ },
+ "minimumThroughput": "4000",
+ "offerReplacePending": "false",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraTableMigrateToManualThroughput.json
new file mode 100644
index 000000000000..f886f9c368ca
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraTableMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "false",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraTableThroughputGet.json
new file mode 100644
index 000000000000..9df4e937e748
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraTableThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraTableThroughputUpdate.json
new file mode 100644
index 000000000000..6885cdaf2e78
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCassandraTableThroughputUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables/throughputSettings",
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCollectionGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCollectionGetMetricDefinitions.json
new file mode 100644
index 000000000000..9b698bfe7662
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCollectionGetMetricDefinitions.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2021-04-01-preview",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "metricAvailabilities": [
+ {
+ "timeGrain": "PT5M",
+ "retention": "P2D"
+ },
+ {
+ "timeGrain": "PT1H",
+ "retention": "P14D"
+ },
+ {
+ "timeGrain": "P1D",
+ "retention": "P60D"
+ }
+ ],
+ "primaryAggregationType": "Total",
+ "unit": "Count",
+ "resourceUri": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": {
+ "value": "Total Requests",
+ "localizedValue": "Total Requests"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCollectionGetMetrics.json
new file mode 100644
index 000000000000..af85428abbf4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCollectionGetMetrics.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid",
+ "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Count",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:03:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:08:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ }
+ ],
+ "name": {
+ "value": "Total Requests",
+ "localizedValue": "Total Requests"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCollectionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCollectionGetUsages.json
new file mode 100644
index 000000000000..26bc45f0bbb2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCollectionGetUsages.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid",
+ "subscriptionId": "subid",
+ "$filter": "$filter=name.value eq 'Storage'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "unit": "Bytes",
+ "quotaPeriod": "P1D",
+ "limit": 10737418240,
+ "currentValue": 0,
+ "name": {
+ "value": "Storage",
+ "localizedValue": "Storage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCollectionPartitionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCollectionPartitionGetMetrics.json
new file mode 100644
index 000000000000..e525020d9757
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCollectionPartitionGetMetrics.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid",
+ "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT1M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T23:58:55.2780000Z",
+ "unit": "Count",
+ "partitionId": "00000000-0000-0000-0000-000000000000",
+ "partitionKeyRangeId": "0",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:54:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:55:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:56:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:57:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "maximum": 5
+ }
+ ],
+ "name": {
+ "value": "Max RUs Per Second",
+ "localizedValue": "Max RUs Per Second"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCollectionPartitionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCollectionPartitionGetUsages.json
new file mode 100644
index 000000000000..f4da2cf49a72
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCollectionPartitionGetUsages.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid",
+ "subscriptionId": "subid",
+ "$filter": "$filter=name.value eq 'Partition Storage'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "unit": "Bytes",
+ "quotaPeriod": "P1D",
+ "limit": 10737418240,
+ "currentValue": 0,
+ "partitionId": "00000000-0000-0000-0000-000000000000",
+ "partitionKeyRangeId": "0",
+ "name": {
+ "value": "Storage",
+ "localizedValue": "Storage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCollectionPartitionRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
new file mode 100644
index 000000000000..d39c68dbd784
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid",
+ "region": "North Europe",
+ "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT1M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T23:58:55.2780000Z",
+ "unit": "Count",
+ "partitionId": "00000000-0000-0000-0000-000000000000",
+ "partitionKeyRangeId": "0",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:54:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:55:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:56:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:57:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "maximum": 5
+ }
+ ],
+ "name": {
+ "value": "Max RUs Per Second",
+ "localizedValue": "Max RUs Per Second"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDataTransferServiceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDataTransferServiceCreate.json
new file mode 100644
index 000000000000..bb4707377eb9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDataTransferServiceCreate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "serviceName": "DataTransfer",
+ "createUpdateParameters": {
+ "properties": {
+ "instanceSize": "Cosmos.D4s",
+ "instanceCount": 1,
+ "serviceType": "DataTransfer"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/DataTransfer",
+ "name": "DataTransfer",
+ "type": "Microsoft.DocumentDB/databaseAccounts/services",
+ "properties": {
+ "status": "Running",
+ "creationTime": "2021-01-25T12:56:05.4622517Z",
+ "instanceSize": "Cosmos.D4s",
+ "instanceCount": 1,
+ "serviceType": "DataTransfer",
+ "locations": [
+ {
+ "name": "DataTransfer-westus2",
+ "location": "West US 2",
+ "status": "Running"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDataTransferServiceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDataTransferServiceDelete.json
new file mode 100644
index 000000000000..bccde9f98691
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDataTransferServiceDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "serviceName": "DataTransfer"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDataTransferServiceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDataTransferServiceGet.json
new file mode 100644
index 000000000000..eac42361a434
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDataTransferServiceGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "serviceName": "DataTransfer"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/DataTransfer",
+ "name": "DataTransfer",
+ "type": "Microsoft.DocumentDB/databaseAccounts/services",
+ "properties": {
+ "status": "Running",
+ "creationTime": "2021-01-25T12:56:05.4622517Z",
+ "instanceSize": "Cosmos.D4s",
+ "instanceCount": 1,
+ "serviceType": "DataTransfer",
+ "locations": [
+ {
+ "name": "DataTransfer-westus2",
+ "location": "West US 2",
+ "status": "Running"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountCheckNameExists.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountCheckNameExists.json
new file mode 100644
index 000000000000..ce422d0d0dd1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountCheckNameExists.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "404": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountCreateMax.json
new file mode 100644
index 000000000000..8cd19fff86b1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountCreateMax.json
@@ -0,0 +1,204 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "createUpdateParameters": {
+ "location": "westus",
+ "tags": {},
+ "kind": "MongoDB",
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {}
+ }
+ },
+ "properties": {
+ "databaseAccountOfferType": "Standard",
+ "ipRules": [
+ {
+ "ipAddressOrRange": "23.43.230.120"
+ },
+ {
+ "ipAddressOrRange": "110.12.240.0/12"
+ }
+ ],
+ "isVirtualNetworkFilterEnabled": true,
+ "virtualNetworkRules": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "ignoreMissingVNetServiceEndpoint": false
+ }
+ ],
+ "locations": [
+ {
+ "failoverPriority": 0,
+ "locationName": "southcentralus",
+ "isZoneRedundant": false
+ },
+ {
+ "failoverPriority": 1,
+ "locationName": "eastus",
+ "isZoneRedundant": false
+ }
+ ],
+ "createMode": "Default",
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "BoundedStaleness",
+ "maxIntervalInSeconds": 10,
+ "maxStalenessPrefix": 200
+ },
+ "keyVaultKeyUri": "https://myKeyVault.vault.azure.net",
+ "enableFreeTier": false,
+ "apiProperties": {
+ "serverVersion": "3.2"
+ },
+ "publicNetworkAccess": "Enabled",
+ "defaultIdentity": "FirstPartyIdentity",
+ "enableAnalyticalStorage": true,
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 720,
+ "backupStorageRedundancy": "Geo"
+ }
+ },
+ "networkAclBypass": "None",
+ "networkAclBypassResourceIds": [],
+ "cors": [
+ {
+ "allowedOrigins": "https://test"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": "ddb1",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/databaseAccounts",
+ "kind": "MongoDB",
+ "tags": {},
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270436",
+ "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Initializing",
+ "isVirtualNetworkFilterEnabled": true,
+ "databaseAccountOfferType": "Standard",
+ "disableKeyBasedMetadataWriteAccess": false,
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "BoundedStaleness",
+ "maxIntervalInSeconds": 10,
+ "maxStalenessPrefix": 200
+ },
+ "writeLocations": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 0,
+ "isZoneRedundant": false
+ }
+ ],
+ "readLocations": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 0,
+ "isZoneRedundant": false
+ },
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 1,
+ "isZoneRedundant": false
+ }
+ ],
+ "locations": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 0,
+ "isZoneRedundant": false
+ },
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 1,
+ "isZoneRedundant": false
+ }
+ ],
+ "failoverPolicies": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "failoverPriority": 0
+ },
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "failoverPriority": 1
+ }
+ ],
+ "virtualNetworkRules": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"
+ }
+ ],
+ "keyVaultKeyUri": "https://myKeyVault.vault.azure.net",
+ "enableFreeTier": false,
+ "ipRules": [
+ {
+ "ipAddressOrRange": "23.43.230.120"
+ },
+ {
+ "ipAddressOrRange": "110.12.240.0/12"
+ }
+ ],
+ "apiProperties": {
+ "serverVersion": "3.2"
+ },
+ "enableAnalyticalStorage": true,
+ "publicNetworkAccess": "Enabled",
+ "defaultIdentity": "FirstPartyIdentity",
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "createMode": "Default",
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 720,
+ "backupStorageRedundancy": "Geo"
+ }
+ },
+ "cors": [
+ {
+ "allowedOrigins": "https://test"
+ }
+ ],
+ "networkAclBypass": "None",
+ "networkAclBypassResourceIds": []
+ },
+ "systemData": {
+ "createdAt": "2021-03-12T22:05:09Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountCreateMin.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountCreateMin.json
new file mode 100644
index 000000000000..066771f58fb1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountCreateMin.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "createUpdateParameters": {
+ "location": "westus",
+ "properties": {
+ "databaseAccountOfferType": "Standard",
+ "locations": [
+ {
+ "failoverPriority": 0,
+ "locationName": "southcentralus",
+ "isZoneRedundant": false
+ }
+ ],
+ "createMode": "Default"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": "ddb1",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/databaseAccounts",
+ "kind": "GlobalDocumentDB",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Initializing",
+ "ipRules": [],
+ "databaseAccountOfferType": "Standard",
+ "disableKeyBasedMetadataWriteAccess": false,
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "Session",
+ "maxIntervalInSeconds": 5,
+ "maxStalenessPrefix": 100
+ },
+ "writeLocations": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 0,
+ "isZoneRedundant": false
+ }
+ ],
+ "readLocations": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 0,
+ "isZoneRedundant": false
+ }
+ ],
+ "locations": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 0,
+ "isZoneRedundant": false
+ }
+ ],
+ "failoverPolicies": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "failoverPriority": 0
+ }
+ ],
+ "cors": [],
+ "enableFreeTier": false,
+ "apiProperties": {},
+ "enableAnalyticalStorage": false,
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "createMode": "Default",
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 720,
+ "backupStorageRedundancy": "Geo"
+ }
+ },
+ "networkAclBypass": "None",
+ "networkAclBypassResourceIds": []
+ },
+ "systemData": {
+ "createdAt": "2021-03-12T22:05:09Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountDelete.json
new file mode 100644
index 000000000000..80debdb9f5aa
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
new file mode 100644
index 000000000000..3a5787354515
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "accountName": "ddb1-failover",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "failoverParameters": {
+ "failoverPolicies": [
+ {
+ "locationName": "eastus",
+ "failoverPriority": 0
+ },
+ {
+ "locationName": "westus",
+ "failoverPriority": 1
+ }
+ ]
+ }
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountGet.json
new file mode 100644
index 000000000000..614ea14ae825
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountGet.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": "ddb1",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/databaseAccounts",
+ "kind": "GlobalDocumentDB",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "documentEndpoint": "https://ddb1.documents.azure.com:443/",
+ "ipRules": [],
+ "isVirtualNetworkFilterEnabled": false,
+ "virtualNetworkRules": [],
+ "databaseAccountOfferType": "Standard",
+ "disableKeyBasedMetadataWriteAccess": false,
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "Session",
+ "maxIntervalInSeconds": 5,
+ "maxStalenessPrefix": 100
+ },
+ "writeLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "readLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "locations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "failoverPolicies": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "failoverPriority": 0
+ }
+ ],
+ "privateEndpointConnections": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.DocumentDB/databaseAccounts/account1/privateEndpointConnections/pe1",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/pe1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ],
+ "cors": [],
+ "enableFreeTier": false,
+ "apiProperties": {},
+ "enableAnalyticalStorage": true,
+ "defaultIdentity": "FirstPartyIdentity",
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "createMode": "Default",
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 720,
+ "backupStorageRedundancy": "Geo"
+ }
+ },
+ "networkAclBypass": "None",
+ "networkAclBypassResourceIds": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
new file mode 100644
index 000000000000..b741c7a2fd93
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "metricAvailabilities": [
+ {
+ "timeGrain": "PT5M",
+ "retention": "P2D"
+ },
+ {
+ "timeGrain": "PT1H",
+ "retention": "P14D"
+ },
+ {
+ "timeGrain": "P1D",
+ "retention": "P60D"
+ }
+ ],
+ "primaryAggregationType": "Total",
+ "unit": "Count",
+ "resourceUri": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": {
+ "value": "Total Requests",
+ "localizedValue": "Total Requests"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountGetMetrics.json
new file mode 100644
index 000000000000..672c9c6e4d90
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountGetMetrics.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Count",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:03:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:08:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ }
+ ],
+ "name": {
+ "value": "Total Requests",
+ "localizedValue": "Total Requests"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountGetUsages.json
new file mode 100644
index 000000000000..ced30b1540af
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountGetUsages.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "$filter": "$filter=name.value eq 'Storage'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "unit": "Bytes",
+ "quotaPeriod": "P1D",
+ "limit": 10737418240,
+ "currentValue": 0,
+ "name": {
+ "value": "Storage",
+ "localizedValue": "Storage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountList.json
new file mode 100644
index 000000000000..c0febc0b2fe3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountList.json
@@ -0,0 +1,102 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": "ddb1",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/databaseAccounts",
+ "kind": "GlobalDocumentDB",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "documentEndpoint": "https://ddb1.documents.azure.com:443/",
+ "ipRules": [],
+ "databaseAccountOfferType": "Standard",
+ "disableKeyBasedMetadataWriteAccess": false,
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "Session",
+ "maxIntervalInSeconds": 5,
+ "maxStalenessPrefix": 100
+ },
+ "writeLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "readLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "locations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "failoverPolicies": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "failoverPriority": 0
+ }
+ ],
+ "privateEndpointConnections": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.DocumentDB/databaseAccounts/account1/privateEndpointConnections/pe1",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/pe1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ],
+ "cors": [],
+ "enableFreeTier": false,
+ "apiProperties": {},
+ "enableAnalyticalStorage": true,
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "createMode": "Default",
+ "defaultIdentity": "FirstPartyIdentity",
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 720,
+ "backupStorageRedundancy": "Geo"
+ }
+ },
+ "networkAclBypass": "None",
+ "networkAclBypassResourceIds": []
+ },
+ "systemData": {
+ "createdAt": "2021-03-12T22:05:09Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountListByResourceGroup.json
new file mode 100644
index 000000000000..2500adcbff16
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountListByResourceGroup.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": "ddb1",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/databaseAccounts",
+ "kind": "GlobalDocumentDB",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "documentEndpoint": "https://ddb1.documents.azure.com:443/",
+ "ipRules": [],
+ "databaseAccountOfferType": "Standard",
+ "disableKeyBasedMetadataWriteAccess": false,
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "Session",
+ "maxIntervalInSeconds": 5,
+ "maxStalenessPrefix": 100
+ },
+ "writeLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "readLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "locations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "failoverPolicies": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "failoverPriority": 0
+ }
+ ],
+ "cors": [],
+ "enableFreeTier": false,
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "createMode": "Default",
+ "defaultIdentity": "FirstPartyIdentity",
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 720,
+ "backupStorageRedundancy": "Geo"
+ }
+ },
+ "networkAclBypass": "None",
+ "networkAclBypassResourceIds": []
+ },
+ "systemData": {
+ "createdAt": "2021-03-12T22:05:09Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountListConnectionStrings.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountListConnectionStrings.json
new file mode 100644
index 000000000000..c5633522a5ac
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountListConnectionStrings.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
new file mode 100644
index 000000000000..6290ebf3d330
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "accountName": "mongo-ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "connectionStrings": [
+ {
+ "connectionString": "connection-string",
+ "description": "Name of the connection string"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountListKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountListKeys.json
new file mode 100644
index 000000000000..545d05002a9a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountListKeys.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryMasterKey": "primaryMasterKey",
+ "secondaryMasterKey": "secondaryMasterKey",
+ "primaryReadonlyMasterKey": "primaryReadonlyMasterKey",
+ "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
new file mode 100644
index 000000000000..4b1f0c082634
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryReadonlyMasterKey": "primaryReadonlyMasterKey",
+ "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountOfflineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountOfflineRegion.json
new file mode 100644
index 000000000000..0c51a602a04d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountOfflineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "region": "North Europe",
+ "regionParameterForOffline": [
+ {
+ "region": "North Europe"
+ }
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountOnlineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountOnlineRegion.json
new file mode 100644
index 000000000000..f577eb7e55f8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountOnlineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "region": "North Europe",
+ "regionParameterForOnline": [
+ {
+ "region": "North Europe"
+ }
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountPatch.json
new file mode 100644
index 000000000000..a5ec606e4a67
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountPatch.json
@@ -0,0 +1,168 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "updateParameters": {
+ "location": "westus",
+ "tags": {
+ "dept": "finance"
+ },
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {}
+ }
+ },
+ "properties": {
+ "ipRules": [
+ {
+ "ipAddressOrRange": "23.43.230.120"
+ },
+ {
+ "ipAddressOrRange": "110.12.240.0/12"
+ }
+ ],
+ "isVirtualNetworkFilterEnabled": true,
+ "virtualNetworkRules": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "ignoreMissingVNetServiceEndpoint": false
+ }
+ ],
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "BoundedStaleness",
+ "maxIntervalInSeconds": 10,
+ "maxStalenessPrefix": 200
+ },
+ "enableFreeTier": false,
+ "enableAnalyticalStorage": true,
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 720,
+ "backupStorageRedundancy": "Geo"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": "ddb1",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/databaseAccounts",
+ "kind": "GlobalDocumentDB",
+ "tags": {
+ "dept": "finance"
+ },
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270436",
+ "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "documentEndpoint": "https://ddb1.documents.azure.com:443/",
+ "databaseAccountOfferType": "Standard",
+ "ipRules": [
+ {
+ "ipAddressOrRange": "23.43.230.120"
+ },
+ {
+ "ipAddressOrRange": "110.12.240.0/12"
+ }
+ ],
+ "isVirtualNetworkFilterEnabled": true,
+ "disableKeyBasedMetadataWriteAccess": false,
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "BoundedStaleness",
+ "maxIntervalInSeconds": 10,
+ "maxStalenessPrefix": 200
+ },
+ "writeLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "readLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "locations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "failoverPolicies": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "failoverPriority": 0
+ }
+ ],
+ "cors": [],
+ "virtualNetworkRules": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "ignoreMissingVNetServiceEndpoint": false
+ }
+ ],
+ "privateEndpointConnections": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.DocumentDB/databaseAccounts/account1/privateEndpointConnections/pe1",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/pe1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ],
+ "enableFreeTier": false,
+ "apiProperties": {},
+ "enableAnalyticalStorage": true,
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "createMode": "Default",
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 720,
+ "backupStorageRedundancy": "Geo"
+ }
+ },
+ "networkAclBypass": "None",
+ "networkAclBypassResourceIds": []
+ },
+ "systemData": {
+ "createdAt": "2021-03-12T22:05:09Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountRegenerateKey.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountRegenerateKey.json
new file mode 100644
index 000000000000..bdb7453b84d4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountRegenerateKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "keyToRegenerate": {
+ "keyKind": "primary"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
new file mode 100644
index 000000000000..95a8ece4ef4c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "region": "North Europe",
+ "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Count",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:03:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:08:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ }
+ ],
+ "name": {
+ "value": "Total Requests",
+ "localizedValue": "Total Requests"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseGetMetricDefinitions.json
new file mode 100644
index 000000000000..c74d418ab4d2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseGetMetricDefinitions.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2021-04-01-preview",
+ "databaseRid": "databaseRid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "metricAvailabilities": [
+ {
+ "timeGrain": "PT5M",
+ "retention": "P2D"
+ },
+ {
+ "timeGrain": "PT1H",
+ "retention": "P14D"
+ },
+ {
+ "timeGrain": "P1D",
+ "retention": "P60D"
+ }
+ ],
+ "primaryAggregationType": "Total",
+ "unit": "Count",
+ "resourceUri": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": {
+ "value": "Total Requests",
+ "localizedValue": "Total Requests"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseGetMetrics.json
new file mode 100644
index 000000000000..a47a21bac74b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseRid": "rid",
+ "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Count",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:03:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:08:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ }
+ ],
+ "name": {
+ "value": "Total Requests",
+ "localizedValue": "Total Requests"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseGetUsages.json
new file mode 100644
index 000000000000..170ea5e9f055
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBDatabaseGetUsages.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "databaseRid": "databaseRid",
+ "subscriptionId": "subid",
+ "$filter": "$filter=name.value eq 'Storage'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "unit": "Bytes",
+ "quotaPeriod": "P1D",
+ "limit": 10737418240,
+ "currentValue": 0,
+ "name": {
+ "value": "Storage",
+ "localizedValue": "Storage"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..027d0a7387f0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinDatabaseCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "createUpdateGremlinDatabaseParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "databaseName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinDatabaseDelete.json
new file mode 100644
index 000000000000..00686dc8b277
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinDatabaseGet.json
new file mode 100644
index 000000000000..71bfee95c399
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinDatabaseGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinDatabaseList.json
new file mode 100644
index 000000000000..abd72333d17e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinDatabaseList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..53d0427d9d53
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "autoscaleSettings": {
+ "maxThroughput": 4000
+ },
+ "minimumThroughput": "4000",
+ "offerReplacePending": "false",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..5ca65fc3afc6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinDatabaseThroughputGet.json
new file mode 100644
index 000000000000..6b50ba58ae20
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..5ddbe132ad7e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinGraphCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinGraphCreateUpdate.json
new file mode 100644
index 000000000000..ff06f916d26a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinGraphCreateUpdate.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName",
+ "createUpdateGremlinGraphParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "graphName",
+ "indexingPolicy": {
+ "indexingMode": "consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ }
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/gremlinGraphs/graphName",
+ "name": "graphName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/gremlinGraphs",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "graphName",
+ "indexingPolicy": {
+ "indexingMode": "consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinGraphDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinGraphDelete.json
new file mode 100644
index 000000000000..bb87f4577d83
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinGraphDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinGraphGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinGraphGet.json
new file mode 100644
index 000000000000..541b278b58c5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinGraphGet.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "graphName",
+ "name": "graphName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/graphs",
+ "properties": {
+ "resource": {
+ "id": "graphName",
+ "indexingPolicy": {
+ "indexingMode": "consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinGraphList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinGraphList.json
new file mode 100644
index 000000000000..faf2f1381868
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinGraphList.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "testgrf",
+ "name": "testgrf",
+ "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/graphs",
+ "properties": {
+ "resource": {
+ "id": "testgrf",
+ "indexingPolicy": {
+ "indexingMode": "consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinGraphMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinGraphMigrateToAutoscale.json
new file mode 100644
index 000000000000..6ffbf62ba6d5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinGraphMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "autoscaleSettings": {
+ "maxThroughput": 4000
+ },
+ "minimumThroughput": "4000",
+ "offerReplacePending": "false",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json
new file mode 100644
index 000000000000..90a37f4b6e17
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinGraphThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinGraphThroughputGet.json
new file mode 100644
index 000000000000..c49ec5f7dcda
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinGraphThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/gremlinGraphs/graphName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinGraphThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinGraphThroughputUpdate.json
new file mode 100644
index 000000000000..514d010a1801
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBGremlinGraphThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/gremlinGraphs/graphName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBLocationGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBLocationGet.json
new file mode 100644
index 000000000000..6678bf2fda8e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBLocationGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-01-preview/examples/CosmosDBLocationList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBLocationList.json
new file mode 100644
index 000000000000..68e3fb33b117
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBLocationList.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraBackup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraBackup.json
new file mode 100644
index 000000000000..5e9e16a9db4b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraBackup.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-04-01-preview",
+ "clusterName": "cassandra-prod",
+ "backupId": "1611250348"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/backups/1611250348",
+ "name": "1611250348",
+ "type": "Microsoft.DocumentDB/cassandraClusters/backups",
+ "properties": {
+ "timestamp": "2021-01-21T17:32:28Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraBackupsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraBackupsList.json
new file mode 100644
index 000000000000..44ede7013856
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraBackupsList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-04-01-preview",
+ "clusterName": "cassandra-prod"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/backups/1611250348",
+ "name": "1611250348",
+ "type": "Microsoft.DocumentDB/cassandraClusters/backups",
+ "properties": {
+ "timestamp": "2021-01-21T17:32:28Z"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/backups/1611214220",
+ "name": "1611214220",
+ "type": "Microsoft.DocumentDB/cassandraClusters/backups",
+ "properties": {
+ "timestamp": "2021-01-21T07:30:20Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraClusterCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraClusterCreate.json
new file mode 100644
index 000000000000..0a9ea34b8b66
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraClusterCreate.json
@@ -0,0 +1,155 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-04-01-preview",
+ "clusterName": "cassandra-prod",
+ "body": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management",
+ "cassandraVersion": "3.11",
+ "hoursBetweenBackups": 24,
+ "authenticationMethod": "Cassandra",
+ "initialCassandraAdminPassword": "mypassword",
+ "externalSeedNodes": [
+ {
+ "ipAddress": "10.52.221.2"
+ },
+ {
+ "ipAddress": "10.52.221.3"
+ },
+ {
+ "ipAddress": "10.52.221.4"
+ }
+ ],
+ "clusterNameOverride": "ClusterNameIllegalForAzureResource",
+ "clientCertificates": [
+ {
+ "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----"
+ }
+ ],
+ "externalGossipCertificates": [
+ {
+ "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod",
+ "name": "cassandra-prod",
+ "type": "Microsoft.DocumentDB/cassandraClusters",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management",
+ "cassandraVersion": "3.11",
+ "hoursBetweenBackups": 24,
+ "authenticationMethod": "Cassandra",
+ "externalSeedNodes": [
+ {
+ "ipAddress": "10.52.221.2"
+ },
+ {
+ "ipAddress": "10.52.221.3"
+ },
+ {
+ "ipAddress": "10.52.221.4"
+ }
+ ],
+ "clusterNameOverride": "ClusterNameIllegalForAzureResource",
+ "seedNodes": [
+ {
+ "ipAddress": "10.52.221.2"
+ },
+ {
+ "ipAddress": "10.52.221.3"
+ },
+ {
+ "ipAddress": "10.52.221.4"
+ },
+ {
+ "ipAddress": "192.168.12.2"
+ },
+ {
+ "ipAddress": "192.168.12.3"
+ },
+ {
+ "ipAddress": "192.168.12.4"
+ }
+ ],
+ "clientCertificates": [
+ {
+ "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----"
+ }
+ ],
+ "externalGossipCertificates": [
+ {
+ "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----"
+ }
+ ],
+ "gossipCertificates": [
+ {
+ "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod",
+ "name": "cassandra-prod",
+ "type": "Microsoft.DocumentDB/cassandraClusters",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management",
+ "cassandraVersion": "3.11",
+ "hoursBetweenBackups": 24,
+ "authenticationMethod": "Cassandra",
+ "externalSeedNodes": [
+ {
+ "ipAddress": "10.52.221.2"
+ },
+ {
+ "ipAddress": "10.52.221.3"
+ },
+ {
+ "ipAddress": "10.52.221.4"
+ }
+ ],
+ "clusterNameOverride": "ClusterNameIllegalForAzureResource",
+ "seedNodes": [
+ {
+ "ipAddress": "10.52.221.2"
+ },
+ {
+ "ipAddress": "10.52.221.3"
+ },
+ {
+ "ipAddress": "10.52.221.4"
+ }
+ ],
+ "clientCertificates": [
+ {
+ "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----"
+ }
+ ],
+ "externalGossipCertificates": [
+ {
+ "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraClusterDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraClusterDelete.json
new file mode 100644
index 000000000000..34119b849e2c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraClusterDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-04-01-preview",
+ "clusterName": "cassandra-prod"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraClusterFetchNodeStatus.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraClusterFetchNodeStatus.json
new file mode 100644
index 000000000000..59df36aab250
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraClusterFetchNodeStatus.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-04-01-preview",
+ "clusterName": "cassandra-prod"
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "nodes": [
+ {
+ "datacenter": "dc1",
+ "status": "Up",
+ "state": "Normal",
+ "address": "10.0.1.12",
+ "load": "512.3 MB",
+ "tokens": [
+ "12",
+ "15"
+ ],
+ "owns": 33.3,
+ "hostId": "aaa1b7c1-6049-4a08-ad3e-3697a0e30e10",
+ "rack": "rack1"
+ },
+ {
+ "datacenter": "dc1",
+ "status": "Up",
+ "state": "Normal",
+ "address": "10.0.1.13",
+ "load": "512.1 MB",
+ "tokens": [
+ "12",
+ "15"
+ ],
+ "owns": 33.3,
+ "hostId": "1848c369-4306-4874-afdf-5c1e95b8732e",
+ "rack": "rack1"
+ },
+ {
+ "datacenter": "dc1",
+ "status": "Up",
+ "state": "Normal",
+ "address": "10.0.1.14",
+ "load": "512.5 MB",
+ "tokens": [
+ "12",
+ "15"
+ ],
+ "owns": 33.3,
+ "hostId": "49578bf1-728f-438d-b1c1-d8dd644b6f7f",
+ "rack": "rack1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraClusterGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraClusterGet.json
new file mode 100644
index 000000000000..36a6836f08bd
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraClusterGet.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-04-01-preview",
+ "clusterName": "cassandra-prod"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod",
+ "name": "cassandra-prod",
+ "type": "Microsoft.DocumentDB/cassandraClusters",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management",
+ "cassandraVersion": "3.11",
+ "hoursBetweenBackups": 24,
+ "authenticationMethod": "Cassandra",
+ "externalSeedNodes": [
+ {
+ "ipAddress": "10.52.221.2"
+ },
+ {
+ "ipAddress": "10.52.221.3"
+ },
+ {
+ "ipAddress": "10.52.221.4"
+ }
+ ],
+ "clusterNameOverride": "ClusterNameIllegalForAzureResource",
+ "seedNodes": [
+ {
+ "ipAddress": "10.52.221.2"
+ },
+ {
+ "ipAddress": "10.52.221.3"
+ },
+ {
+ "ipAddress": "10.52.221.4"
+ },
+ {
+ "ipAddress": "192.168.12.2"
+ },
+ {
+ "ipAddress": "192.168.12.3"
+ },
+ {
+ "ipAddress": "192.168.12.4"
+ }
+ ],
+ "clientCertificates": [
+ {
+ "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----"
+ }
+ ],
+ "externalGossipCertificates": [
+ {
+ "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----"
+ }
+ ],
+ "gossipCertificates": [
+ {
+ "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraClusterListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraClusterListByResourceGroup.json
new file mode 100644
index 000000000000..0065d45eef51
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraClusterListByResourceGroup.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters",
+ "name": "cassandra-prod",
+ "type": "Microsoft.DocumentDB/cassandraClusters",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management",
+ "cassandraVersion": "3.11",
+ "hoursBetweenBackups": 24,
+ "authenticationMethod": "Cassandra",
+ "externalSeedNodes": [
+ {
+ "ipAddress": "10.52.221.2"
+ },
+ {
+ "ipAddress": "10.52.221.3"
+ },
+ {
+ "ipAddress": "10.52.221.4"
+ }
+ ],
+ "clusterNameOverride": "ClusterNameIllegalForAzureResource",
+ "seedNodes": [
+ {
+ "ipAddress": "10.52.221.2"
+ },
+ {
+ "ipAddress": "10.52.221.3"
+ },
+ {
+ "ipAddress": "10.52.221.4"
+ },
+ {
+ "ipAddress": "192.168.12.2"
+ },
+ {
+ "ipAddress": "192.168.12.3"
+ },
+ {
+ "ipAddress": "192.168.12.4"
+ }
+ ],
+ "clientCertificates": [
+ {
+ "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----"
+ }
+ ],
+ "externalGossipCertificates": [
+ {
+ "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----"
+ }
+ ],
+ "gossipCertificates": [
+ {
+ "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraClusterListBySubscription.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraClusterListBySubscription.json
new file mode 100644
index 000000000000..7b9b69ed56b8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraClusterListBySubscription.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/cassandraClusters",
+ "name": "cassandra-prod",
+ "type": "Microsoft.DocumentDB/cassandraClusters",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management",
+ "cassandraVersion": "3.11",
+ "hoursBetweenBackups": 24,
+ "authenticationMethod": "Cassandra",
+ "externalSeedNodes": [
+ {
+ "ipAddress": "10.52.221.2"
+ },
+ {
+ "ipAddress": "10.52.221.3"
+ },
+ {
+ "ipAddress": "10.52.221.4"
+ }
+ ],
+ "clusterNameOverride": "ClusterNameIllegalForAzureResource",
+ "seedNodes": [
+ {
+ "ipAddress": "10.52.221.2"
+ },
+ {
+ "ipAddress": "10.52.221.3"
+ },
+ {
+ "ipAddress": "10.52.221.4"
+ },
+ {
+ "ipAddress": "192.168.12.2"
+ },
+ {
+ "ipAddress": "192.168.12.3"
+ },
+ {
+ "ipAddress": "192.168.12.4"
+ }
+ ],
+ "clientCertificates": [
+ {
+ "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----"
+ }
+ ],
+ "externalGossipCertificates": [
+ {
+ "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----"
+ }
+ ],
+ "gossipCertificates": [
+ {
+ "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraClusterPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraClusterPatch.json
new file mode 100644
index 000000000000..8ccc89461b55
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraClusterPatch.json
@@ -0,0 +1,163 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-04-01-preview",
+ "clusterName": "cassandra-prod",
+ "body": {
+ "tags": {
+ "owner": "mike"
+ },
+ "properties": {
+ "externalSeedNodes": [
+ {
+ "ipAddress": "10.52.221.2"
+ },
+ {
+ "ipAddress": "10.52.221.3"
+ },
+ {
+ "ipAddress": "10.52.221.4"
+ }
+ ],
+ "externalGossipCertificates": [
+ {
+ "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----"
+ }
+ ],
+ "hoursBetweenBackups": 12,
+ "authenticationMethod": "None"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod",
+ "name": "cassandra-prod",
+ "type": "Microsoft.DocumentDB/cassandraClusters",
+ "location": "West US",
+ "tags": {
+ "owner": "mike"
+ },
+ "properties": {
+ "provisioningState": "Updating",
+ "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management",
+ "cassandraVersion": "3.11",
+ "hoursBetweenBackups": 24,
+ "authenticationMethod": "Cassandra",
+ "externalSeedNodes": [
+ {
+ "ipAddress": "10.52.221.2"
+ },
+ {
+ "ipAddress": "10.52.221.3"
+ },
+ {
+ "ipAddress": "10.52.221.4"
+ }
+ ],
+ "clusterNameOverride": "ClusterNameIllegalForAzureResource",
+ "seedNodes": [
+ {
+ "ipAddress": "10.52.221.2"
+ },
+ {
+ "ipAddress": "10.52.221.3"
+ },
+ {
+ "ipAddress": "10.52.221.4"
+ },
+ {
+ "ipAddress": "192.168.12.2"
+ },
+ {
+ "ipAddress": "192.168.12.3"
+ },
+ {
+ "ipAddress": "192.168.12.4"
+ }
+ ],
+ "clientCertificates": [
+ {
+ "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----"
+ }
+ ],
+ "externalGossipCertificates": [
+ {
+ "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----"
+ }
+ ],
+ "gossipCertificates": [
+ {
+ "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----"
+ }
+ ]
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod",
+ "name": "cassandra-prod",
+ "type": "Microsoft.DocumentDB/cassandraClusters",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management",
+ "cassandraVersion": "3.11",
+ "hoursBetweenBackups": 24,
+ "authenticationMethod": "Cassandra",
+ "externalSeedNodes": [
+ {
+ "ipAddress": "10.52.221.2"
+ },
+ {
+ "ipAddress": "10.52.221.3"
+ },
+ {
+ "ipAddress": "10.52.221.4"
+ }
+ ],
+ "clusterNameOverride": "ClusterNameIllegalForAzureResource",
+ "seedNodes": [
+ {
+ "ipAddress": "10.52.221.2"
+ },
+ {
+ "ipAddress": "10.52.221.3"
+ },
+ {
+ "ipAddress": "10.52.221.4"
+ },
+ {
+ "ipAddress": "192.168.12.2"
+ },
+ {
+ "ipAddress": "192.168.12.3"
+ },
+ {
+ "ipAddress": "192.168.12.4"
+ }
+ ],
+ "clientCertificates": [
+ {
+ "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----"
+ }
+ ],
+ "externalGossipCertificates": [
+ {
+ "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----"
+ }
+ ],
+ "gossipCertificates": [
+ {
+ "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraDataCenterCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraDataCenterCreate.json
new file mode 100644
index 000000000000..c78158a09544
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraDataCenterCreate.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-04-01-preview",
+ "clusterName": "cassandra-prod",
+ "dataCenterName": "dc1",
+ "body": {
+ "properties": {
+ "dataCenterLocation": "West US 2",
+ "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1-subnet",
+ "nodeCount": 9,
+ "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA="
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters/dc1",
+ "name": "dc1",
+ "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "dataCenterLocation": "West US 2",
+ "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1",
+ "nodeCount": 9,
+ "seedNodes": [
+ {
+ "ipAddress": "192.168.12.2"
+ },
+ {
+ "ipAddress": "192.168.12.3"
+ },
+ {
+ "ipAddress": "192.168.12.4"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters/dc1",
+ "name": "dc1",
+ "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters",
+ "properties": {
+ "provisioningState": "Creating",
+ "dataCenterLocation": "West US 2",
+ "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1",
+ "nodeCount": 9,
+ "seedNodes": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraDataCenterDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraDataCenterDelete.json
new file mode 100644
index 000000000000..26492440bb66
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraDataCenterDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-04-01-preview",
+ "clusterName": "cassandra-prod",
+ "dataCenterName": "dc1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraDataCenterGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraDataCenterGet.json
new file mode 100644
index 000000000000..24bf45dd757f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraDataCenterGet.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-04-01-preview",
+ "clusterName": "cassandra-prod",
+ "dataCenterName": "dc1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters/dc1",
+ "name": "dc1",
+ "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "dataCenterLocation": "West US 2",
+ "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1",
+ "nodeCount": 9,
+ "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=",
+ "seedNodes": [
+ {
+ "ipAddress": "192.168.12.2"
+ },
+ {
+ "ipAddress": "192.168.12.3"
+ },
+ {
+ "ipAddress": "192.168.12.4"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraDataCenterList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraDataCenterList.json
new file mode 100644
index 000000000000..29db786a47fc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraDataCenterList.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-04-01-preview",
+ "clusterName": "cassandra-prod"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters",
+ "name": "dc1",
+ "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "dataCenterLocation": "West US 2",
+ "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1",
+ "nodeCount": 9,
+ "seedNodes": [
+ {
+ "ipAddress": "192.168.12.2"
+ },
+ {
+ "ipAddress": "192.168.12.3"
+ },
+ {
+ "ipAddress": "192.168.12.4"
+ }
+ ],
+ "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA="
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraDataCenterPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraDataCenterPatch.json
new file mode 100644
index 000000000000..5f4091424493
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraDataCenterPatch.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-04-01-preview",
+ "clusterName": "cassandra-prod",
+ "dataCenterName": "dc1",
+ "body": {
+ "properties": {
+ "dataCenterLocation": "West US 2",
+ "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1-subnet",
+ "nodeCount": 9,
+ "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA="
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters/dc1",
+ "name": "dc1",
+ "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters",
+ "properties": {
+ "provisioningState": "Updating",
+ "dataCenterLocation": "West US 2",
+ "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1",
+ "nodeCount": 9,
+ "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=",
+ "seedNodes": [
+ {
+ "ipAddress": "192.168.12.2"
+ },
+ {
+ "ipAddress": "192.168.12.3"
+ },
+ {
+ "ipAddress": "192.168.12.4"
+ }
+ ]
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters/dc1",
+ "name": "dc1",
+ "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "dataCenterLocation": "West US 2",
+ "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1",
+ "nodeCount": 9,
+ "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=",
+ "seedNodes": [
+ {
+ "ipAddress": "192.168.12.2"
+ },
+ {
+ "ipAddress": "192.168.12.3"
+ },
+ {
+ "ipAddress": "192.168.12.4"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraRepair.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraRepair.json
new file mode 100644
index 000000000000..b614ad4a1344
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBManagedCassandraRepair.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-04-01-preview",
+ "clusterName": "cassandra-prod",
+ "body": {
+ "keyspace": "my-keyspace",
+ "tables": [
+ "table1",
+ "table42"
+ ]
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBCollectionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBCollectionCreateUpdate.json
new file mode 100644
index 000000000000..c4b86b621e1c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBCollectionCreateUpdate.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName",
+ "createUpdateMongoDBCollectionParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "collectionName",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "testKey"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
+ }
+ ],
+ "shardKey": {
+ "testKey": "Hash"
+ },
+ "analyticalStorageTtl": 500
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName",
+ "name": "collectionName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "collectionName",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "testKey"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
+ }
+ ],
+ "shardKey": {
+ "testKey": "Hash"
+ },
+ "analyticalStorageTtl": 500
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBCollectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBCollectionDelete.json
new file mode 100644
index 000000000000..06efd7d0bcc8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBCollectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBCollectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBCollectionGet.json
new file mode 100644
index 000000000000..82a448b0baaf
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBCollectionGet.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName",
+ "name": "collectionName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "testcoll",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "testKey"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
+ }
+ ],
+ "shardKey": {
+ "testKey": "Hash"
+ },
+ "analyticalStorageTtl": 500,
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBCollectionList.json
new file mode 100644
index 000000000000..1d90778fb387
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBCollectionList.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName",
+ "name": "collectionName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "testcoll",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "testKey"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
+ }
+ ],
+ "shardKey": {
+ "testKey": "Hash"
+ },
+ "analyticalStorageTtl": 500
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json
new file mode 100644
index 000000000000..afd9f9b39622
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "autoscaleSettings": {
+ "maxThroughput": 4000
+ },
+ "minimumThroughput": "4000",
+ "offerReplacePending": "false",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json
new file mode 100644
index 000000000000..71cd4338e778
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBCollectionThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBCollectionThroughputGet.json
new file mode 100644
index 000000000000..0af01c7ed53e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBCollectionThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBCollectionThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
new file mode 100644
index 000000000000..5b1e20ab94d5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..323d0fabba31
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "createUpdateMongoDBDatabaseParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "databaseName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "updatedDatabaseName"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBDatabaseDelete.json
new file mode 100644
index 000000000000..00686dc8b277
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBDatabaseGet.json
new file mode 100644
index 000000000000..79ec87095d69
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBDatabaseGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "databaseName",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBDatabaseList.json
new file mode 100644
index 000000000000..a0f5fc29a1c2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBDatabaseList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "databaseName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..53d0427d9d53
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "autoscaleSettings": {
+ "maxThroughput": 4000
+ },
+ "minimumThroughput": "4000",
+ "offerReplacePending": "false",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..5ca65fc3afc6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBDatabaseThroughputGet.json
new file mode 100644
index 000000000000..8139406b0ea2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..7ac3c8771e56
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBNotebookWorkspaceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBNotebookWorkspaceCreate.json
new file mode 100644
index 000000000000..1defdc0ad77f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBNotebookWorkspaceCreate.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "notebookWorkspaceName": "default",
+ "notebookCreateUpdateParameters": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/notebookWorkspaces/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces",
+ "properties": {
+ "notebookServerEndpoint": "endpoint",
+ "status": "Online"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBNotebookWorkspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBNotebookWorkspaceDelete.json
new file mode 100644
index 000000000000..07e71b4f22a3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBNotebookWorkspaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBNotebookWorkspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBNotebookWorkspaceGet.json
new file mode 100644
index 000000000000..80a028996430
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBNotebookWorkspaceGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/notebookWorkspaces/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces",
+ "properties": {
+ "notebookServerEndpoint": "endpoint",
+ "status": "Online"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBNotebookWorkspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBNotebookWorkspaceList.json
new file mode 100644
index 000000000000..3d37cf9a4208
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBNotebookWorkspaceList.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/notebookWorkspaces/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces",
+ "properties": {
+ "notebookServerEndpoint": "endpoint",
+ "status": "Online"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json
new file mode 100644
index 000000000000..7b98f720ba4b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "authToken": "auth-token",
+ "notebookServerEndpoint": "notebook endpoint"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json
new file mode 100644
index 000000000000..bf1eca49a488
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBNotebookWorkspaceStart.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBNotebookWorkspaceStart.json
new file mode 100644
index 000000000000..bf1eca49a488
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBNotebookWorkspaceStart.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBOperationsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBOperationsList.json
new file mode 100644
index 000000000000..f8705edf9a89
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBOperationsList.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "operationName",
+ "display": {
+ "Provider": "providerName",
+ "Resource": "resourceName",
+ "Operation": "operationName",
+ "Description": "description"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPKeyRangeIdGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPKeyRangeIdGetMetrics.json
new file mode 100644
index 000000000000..1f18d2833bdb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPKeyRangeIdGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid",
+ "partitionKeyRangeId": "0",
+ "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT1M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T23:58:55.2780000Z",
+ "unit": "Count",
+ "partitionId": "00000000-0000-0000-0000-000000000000",
+ "partitionKeyRangeId": "0",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:54:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:55:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:56:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:57:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "maximum": 5
+ }
+ ],
+ "name": {
+ "value": "Max RUs Per Second",
+ "localizedValue": "Max RUs Per Second"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
new file mode 100644
index 000000000000..d8115e38efd7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid",
+ "partitionKeyRangeId": "0",
+ "region": "West US",
+ "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT1M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T23:58:55.2780000Z",
+ "unit": "Count",
+ "partitionId": "00000000-0000-0000-0000-000000000000",
+ "partitionKeyRangeId": "0",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:54:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:55:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:56:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:57:55.2780000Z",
+ "maximum": 5
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "maximum": 5
+ }
+ ],
+ "name": {
+ "value": "Max RUs Per Second",
+ "localizedValue": "Max RUs Per Second"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPercentileGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPercentileGetMetrics.json
new file mode 100644
index 000000000000..ada79a0cea5f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPercentileGetMetrics.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "$filter": "$filter=(name.value eq 'Probabilistic Bounded Staleness') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Milliseconds",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "P10": 1.11,
+ "P25": 2.5,
+ "P50": 4.34,
+ "P75": 5.2,
+ "P90": 6.77,
+ "P95": 7.1,
+ "P99": 8.3
+ }
+ ],
+ "name": {
+ "value": "Probabilistic Bounded Staleness-S-West Central US-T-East US",
+ "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-East US"
+ }
+ },
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Milliseconds",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "P10": 1.11,
+ "P25": 2.5,
+ "P50": 4.34,
+ "P75": 5.2,
+ "P90": 6.77,
+ "P95": 7.1,
+ "P99": 8.3
+ }
+ ],
+ "name": {
+ "value": "Probabilistic Bounded Staleness-S-West Central US-T-West US",
+ "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-West US"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPercentileSourceTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPercentileSourceTargetGetMetrics.json
new file mode 100644
index 000000000000..04fd7adcaa9a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPercentileSourceTargetGetMetrics.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "sourceRegion": "West Central US",
+ "targetRegion": "East US",
+ "$filter": "$filter=(name.value eq 'Probabilistic Bounded Staleness') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Milliseconds",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "P10": 1.11,
+ "P25": 2.5,
+ "P50": 4.34,
+ "P75": 5.2,
+ "P90": 6.77,
+ "P95": 7.1,
+ "P99": 8.3
+ }
+ ],
+ "name": {
+ "value": "Probabilistic Bounded Staleness-S-West Central US-T-East US",
+ "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-East US"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPercentileTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPercentileTargetGetMetrics.json
new file mode 100644
index 000000000000..ad59ebc20672
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPercentileTargetGetMetrics.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "targetRegion": "East US",
+ "$filter": "$filter=(name.value eq 'Probabilistic Bounded Staleness') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Milliseconds",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "P10": 1.11,
+ "P25": 2.5,
+ "P50": 4.34,
+ "P75": 5.2,
+ "P90": 6.77,
+ "P95": 7.1,
+ "P99": 8.3
+ }
+ ],
+ "name": {
+ "value": "Probabilistic Bounded Staleness-S-West Central US-T-East US",
+ "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-East US"
+ }
+ },
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Milliseconds",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "P10": 1.11,
+ "P25": 2.5,
+ "P50": 4.34,
+ "P75": 5.2,
+ "P90": 6.77,
+ "P95": 7.1,
+ "P99": 8.3
+ }
+ ],
+ "name": {
+ "value": "Probabilistic Bounded Staleness-S-West US-T-East US",
+ "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-West US"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPrivateEndpointConnectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPrivateEndpointConnectionDelete.json
new file mode 100644
index 000000000000..26ea5d1e1a91
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPrivateEndpointConnectionDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-04-01-preview",
+ "privateEndpointConnectionName": "privateEndpointConnectionName"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPrivateEndpointConnectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPrivateEndpointConnectionGet.json
new file mode 100644
index 000000000000..b7bdb72db8ce
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPrivateEndpointConnectionGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-04-01-preview",
+ "privateEndpointConnectionName": "privateEndpointConnectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateEndpointConnections/privateEndpointConnectionName",
+ "name": "privateEndpointConnectionName",
+ "type": "Microsoft.DocumentDb/databaseAccounts/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionsRequired": "None"
+ },
+ "groupId": "Sql",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPrivateEndpointConnectionListGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPrivateEndpointConnectionListGet.json
new file mode 100644
index 000000000000..7ef20c6fcb67
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPrivateEndpointConnectionListGet.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateEndpointConnections/privateEndpointConnectionName",
+ "name": "privateEndpointConnectionName",
+ "type": "Microsoft.DocumentDb/databaseAccounts/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionsRequired": "None"
+ },
+ "groupId": "Sql",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateEndpointConnections/privateEndpointConnectionName2",
+ "name": "privateEndpointConnectionName",
+ "type": "Microsoft.DocumentDb/databaseAccounts/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionsRequired": "None"
+ },
+ "groupId": "Sql",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPrivateEndpointConnectionUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPrivateEndpointConnectionUpdate.json
new file mode 100644
index 000000000000..cb0f80a32b72
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPrivateEndpointConnectionUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-04-01-preview",
+ "privateEndpointConnectionName": "privateEndpointConnectionName",
+ "parameters": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateEndpointConnections/privateEndpointConnectionName",
+ "name": "privateEndpointConnectionName",
+ "type": "Microsoft.DocumentDb/databaseAccounts/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionsRequired": "None"
+ },
+ "groupId": "Sql",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPrivateLinkResourceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPrivateLinkResourceGet.json
new file mode 100644
index 000000000000..84558cd6c497
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPrivateLinkResourceGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-04-01-preview",
+ "groupName": "sql"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateLinkResources/sql",
+ "name": "sql",
+ "type": "Microsoft.DocumentDB/databaseAccounts/privateLinkResources",
+ "properties": {
+ "groupId": "sql",
+ "requiredMembers": [
+ "ddb1",
+ "ddb1-westus"
+ ],
+ "requiredZoneNames": [
+ "privatelink.documents.azure.net"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPrivateLinkResourceListGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPrivateLinkResourceListGet.json
new file mode 100644
index 000000000000..6a92977f9cbd
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBPrivateLinkResourceListGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateLinkResources/sql",
+ "name": "sql",
+ "type": "Microsoft.DocumentDB/databaseAccounts/privateLinkResources",
+ "properties": {
+ "groupId": "sql",
+ "requiredMembers": [
+ "ddb1",
+ "ddb1-westus"
+ ],
+ "requiredZoneNames": [
+ "privatelink.documents.azure.net"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRegionCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRegionCollectionGetMetrics.json
new file mode 100644
index 000000000000..2a1b23343e07
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRegionCollectionGetMetrics.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseRid": "databaseRid",
+ "collectionRid": "collectionRid",
+ "region": "North Europe",
+ "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timeGrain": "PT5M",
+ "startTime": "2017-11-19T23:53:55.2780000Z",
+ "endTime": "2017-11-20T00:13:55.2780000Z",
+ "unit": "Count",
+ "metricValues": [
+ {
+ "timestamp": "2017-11-19T23:53:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-19T23:58:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:03:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ },
+ {
+ "timestamp": "2017-11-20T00:08:55.2780000Z",
+ "total": 0,
+ "_count": 0,
+ "average": 0
+ }
+ ],
+ "name": {
+ "value": "Total Requests",
+ "localizedValue": "Total Requests"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableDatabaseAccountGet.json
new file mode 100644
index 000000000000..2ae48c17bf79
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableDatabaseAccountGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "location": "West US",
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "name": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts",
+ "properties": {
+ "accountName": "ddb1",
+ "creationTime": "2020-04-11T21:56:15Z",
+ "deletionTime": "2021-03-12T22:05:09Z",
+ "apiType": "Sql",
+ "restorableLocations": [
+ {
+ "locationName": "South Central US",
+ "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5",
+ "creationTime": "2020-10-30T21:13:10Z",
+ "deletionTime": "2020-10-30T21:13:35Z"
+ },
+ {
+ "locationName": "West US",
+ "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c",
+ "creationTime": "2020-10-30T21:13:10Z"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableDatabaseAccountList.json
new file mode 100644
index 000000000000..77163b7a1198
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableDatabaseAccountList.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "location": "West US"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "name": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts",
+ "properties": {
+ "accountName": "ddb1",
+ "creationTime": "2020-04-11T21:56:15Z",
+ "deletionTime": "2021-03-12T22:05:09Z",
+ "apiType": "Sql",
+ "restorableLocations": [
+ {
+ "locationName": "South Central US",
+ "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5",
+ "creationTime": "2020-10-30T21:13:10Z",
+ "deletionTime": "2020-10-30T21:13:35Z"
+ },
+ {
+ "locationName": "West US",
+ "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c",
+ "creationTime": "2020-10-30T21:13:10Z"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/4f9e6ace-ac7a-446c-98bc-194c502a06b4",
+ "name": "4f9e6ace-ac7a-446c-98bc-194c502a06b4",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts",
+ "properties": {
+ "accountName": "ddb2",
+ "creationTime": "2020-05-01T08:05:18Z",
+ "apiType": "Sql",
+ "restorableLocations": [
+ {
+ "locationName": "South Central US",
+ "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5",
+ "creationTime": "2020-10-30T21:13:10Z",
+ "deletionTime": "2020-10-30T21:13:35Z"
+ },
+ {
+ "locationName": "West US",
+ "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c",
+ "creationTime": "2020-10-30T21:13:10Z"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json
new file mode 100644
index 000000000000..6744cf97ceba
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "name": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts",
+ "properties": {
+ "accountName": "ddb1",
+ "creationTime": "2020-04-11T21:56:15Z",
+ "deletionTime": "2021-03-12T22:05:09Z",
+ "apiType": "Sql",
+ "restorableLocations": [
+ {
+ "locationName": "South Central US",
+ "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5",
+ "creationTime": "2020-10-30T21:13:10Z",
+ "deletionTime": "2020-10-30T21:13:35Z"
+ },
+ {
+ "locationName": "West US",
+ "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c",
+ "creationTime": "2020-10-30T21:13:10Z"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/4f9e6ace-ac7a-446c-98bc-194c502a06b4",
+ "name": "4f9e6ace-ac7a-446c-98bc-194c502a06b4",
+ "location": "East US",
+ "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts",
+ "properties": {
+ "accountName": "ddb2",
+ "creationTime": "2020-05-01T08:05:18Z",
+ "apiType": "Sql",
+ "restorableLocations": [
+ {
+ "locationName": "South Central US",
+ "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5",
+ "creationTime": "2020-10-30T21:13:10Z",
+ "deletionTime": "2020-10-30T21:13:35Z"
+ },
+ {
+ "locationName": "West US",
+ "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c",
+ "creationTime": "2020-10-30T21:13:10Z"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableMongodbCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableMongodbCollectionList.json
new file mode 100644
index 000000000000..724b8dc817ec
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableMongodbCollectionList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "location": "WestUS",
+ "instanceId": "98a570f2-63db-4117-91f0-366327b7b353",
+ "restorableMongodbDatabaseRid": "PD5DALigDgw="
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/98a570f2-63db-4117-91f0-366327b7b353/restorableMongodbCollections/79609a98-3394-41f8-911f-cfab0c075c86",
+ "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbCollections",
+ "name": "79609a98-3394-41f8-911f-cfab0c075c86",
+ "properties": {
+ "resource": {
+ "_rid": "zAyAPQAAAA==",
+ "eventTimestamp": "2020-10-13T04:56:42Z",
+ "ownerId": "Collection1",
+ "ownerResourceId": "V18LoLrv-qA=",
+ "operationType": "Create"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableMongodbDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableMongodbDatabaseList.json
new file mode 100644
index 000000000000..ad2578882948
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableMongodbDatabaseList.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588",
+ "location": "WestUS",
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/36f09704-6be3-4f33-aa05-17b73e504c75/restorableMongodbDatabases/59c21367-b98b-4a8e-abb7-b6f46600decc",
+ "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbDatabases",
+ "name": "59c21367-b98b-4a8e-abb7-b6f46600decc",
+ "properties": {
+ "resource": {
+ "_rid": "DLB14gAAAA==",
+ "eventTimestamp": "2020-09-02T19:45:03Z",
+ "ownerId": "Database1",
+ "ownerResourceId": "PD5DALigDgw=",
+ "operationType": "Create"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorableMongodbDatabases/8456cb17-cdb0-4c6a-8db8-d0ff3f886257",
+ "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbDatabases",
+ "name": "8456cb17-cdb0-4c6a-8db8-d0ff3f886257",
+ "properties": {
+ "resource": {
+ "_rid": "ESXNLAAAAA==",
+ "eventTimestamp": "2020-09-02T19:53:42Z",
+ "ownerId": "Database1",
+ "ownerResourceId": "PD5DALigDgw=",
+ "operationType": "Delete"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableMongodbResourceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableMongodbResourceList.json
new file mode 100644
index 000000000000..f21980f48c76
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableMongodbResourceList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588",
+ "location": "WestUS",
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "restoreLocation": "WestUS",
+ "restoreTimestampInUtc": "10/13/2020 4:56"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "databaseName": "Database1",
+ "collectionNames": [
+ "Collection1"
+ ]
+ },
+ {
+ "databaseName": "Database2",
+ "collectionNames": [
+ "Collection1",
+ "Collection2"
+ ]
+ },
+ {
+ "databaseName": "Database3",
+ "collectionNames": []
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableSqlContainerList.json
new file mode 100644
index 000000000000..5b97f412dc95
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableSqlContainerList.json
@@ -0,0 +1,102 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "location": "WestUS",
+ "instanceId": "98a570f2-63db-4117-91f0-366327b7b353",
+ "restorableSqlDatabaseRid": "3fu-hg=="
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/98a570f2-63db-4117-91f0-366327b7b353/restorableSqlContainers/79609a98-3394-41f8-911f-cfab0c075c86",
+ "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlContainers",
+ "name": "79609a98-3394-41f8-911f-cfab0c075c86",
+ "properties": {
+ "resource": {
+ "_rid": "zAyAPQAAAA==",
+ "eventTimestamp": "2020-10-13T04:56:42Z",
+ "ownerId": "Container1",
+ "ownerResourceId": "V18LoLrv-qA=",
+ "operationType": "Create",
+ "container": {
+ "id": "Container1",
+ "indexingPolicy": {
+ "indexingMode": "consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*"
+ },
+ {
+ "path": "/\"_ts\"/?"
+ }
+ ],
+ "excludedPaths": [
+ {
+ "path": "/\"_etag\"/?"
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/_ts",
+ "conflictResolutionProcedure": ""
+ },
+ "_rid": "V18LoLrv-qA=",
+ "_self": "dbs/V18LoA==/colls/V18LoLrv-qA=/",
+ "_etag": "\"00003e00-0000-0700-0000-5f85338a0000\""
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/98a570f2-63db-4117-91f0-366327b7b353/restorableSqlContainers/e85298a1-c631-4726-825e-a7ca092e9098",
+ "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlContainers",
+ "name": "e85298a1-c631-4726-825e-a7ca092e9098",
+ "properties": {
+ "resource": {
+ "_rid": "PrArcgAAAA==",
+ "eventTimestamp": "2020-10-13T05:03:27Z",
+ "ownerId": "Container1",
+ "ownerResourceId": "V18LoLrv-qA=",
+ "operationType": "Replace",
+ "container": {
+ "id": "Container1",
+ "indexingPolicy": {
+ "indexingMode": "consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*"
+ },
+ {
+ "path": "/\"_ts\"/?"
+ }
+ ],
+ "excludedPaths": [
+ {
+ "path": "/\"_etag\"/?"
+ }
+ ]
+ },
+ "defaultTtl": 12345,
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/_ts",
+ "conflictResolutionProcedure": ""
+ },
+ "_rid": "V18LoLrv-qA=",
+ "_self": "dbs/V18LoA==/colls/V18LoLrv-qA=/",
+ "_etag": "\"00004400-0000-0700-0000-5f85351f0000\""
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableSqlDatabaseList.json
new file mode 100644
index 000000000000..75d585996022
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableSqlDatabaseList.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588",
+ "location": "WestUS",
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/36f09704-6be3-4f33-aa05-17b73e504c75/restorableSqlDatabases/59c21367-b98b-4a8e-abb7-b6f46600decc",
+ "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlDatabases",
+ "name": "59c21367-b98b-4a8e-abb7-b6f46600decc",
+ "properties": {
+ "resource": {
+ "_rid": "DLB14gAAAA==",
+ "eventTimestamp": "2020-09-02T19:45:03Z",
+ "ownerId": "Database1",
+ "ownerResourceId": "3fu-hg==",
+ "operationType": "Create",
+ "database": {
+ "id": "Database1",
+ "_rid": "3fu-hg==",
+ "_self": "dbs/3fu-hg==/",
+ "_etag": "\"0000c20a-0000-0700-0000-5f4ff63f0000\"",
+ "_colls": "colls/",
+ "_users": "users/"
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorableSqlDatabases/8456cb17-cdb0-4c6a-8db8-d0ff3f886257",
+ "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlDatabases",
+ "name": "8456cb17-cdb0-4c6a-8db8-d0ff3f886257",
+ "properties": {
+ "resource": {
+ "_rid": "ESXNLAAAAA==",
+ "eventTimestamp": "2020-09-02T19:53:42Z",
+ "ownerId": "Database1",
+ "ownerResourceId": "3fu-hg==",
+ "database": {
+ "id": "Database1",
+ "_rid": "3fu-hg==",
+ "_self": "dbs/3fu-hg==/",
+ "_etag": "\"0000c20a-0000-0700-0000-5f4ff63f0000\"",
+ "_colls": "colls/",
+ "_users": "users/",
+ "_ts": 1599075903
+ },
+ "operationType": "Delete"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorableSqlDatabases/2c07991b-9c7c-4e85-be68-b18c1f2ff326",
+ "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlDatabases",
+ "name": "2c07991b-9c7c-4e85-be68-b18c1f2ff326",
+ "properties": {
+ "resource": {
+ "_rid": "aXFqUQAAAA==",
+ "eventTimestamp": "2020-09-02T19:53:15Z",
+ "ownerId": "Database2",
+ "ownerResourceId": "0SziSg==",
+ "database": {
+ "id": "Database2",
+ "_rid": "0SziSg==",
+ "_self": "dbs/0SziSg==/",
+ "_etag": "\"0000ca0a-0000-0700-0000-5f4ff82b0000\"",
+ "_colls": "colls/",
+ "_users": "users/"
+ },
+ "operationType": "Create"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableSqlResourceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableSqlResourceList.json
new file mode 100644
index 000000000000..690a386f754b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestorableSqlResourceList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588",
+ "location": "WestUS",
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "restoreLocation": "WestUS",
+ "restoreTimestampInUtc": "10/13/2020 4:56"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "databaseName": "Database1",
+ "collectionNames": [
+ "Container1"
+ ]
+ },
+ {
+ "databaseName": "Database2",
+ "collectionNames": [
+ "Container1",
+ "Container2"
+ ]
+ },
+ {
+ "databaseName": "Database3",
+ "collectionNames": []
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json
new file mode 100644
index 000000000000..84b9a6bed055
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "createUpdateParameters": {
+ "location": "westus",
+ "tags": {},
+ "kind": "GlobalDocumentDB",
+ "properties": {
+ "databaseAccountOfferType": "Standard",
+ "locations": [
+ {
+ "failoverPriority": 0,
+ "locationName": "southcentralus",
+ "isZoneRedundant": false
+ }
+ ],
+ "createMode": "Restore",
+ "restoreParameters": {
+ "restoreMode": "PointInTime",
+ "restoreSource": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1a97b4bb-f6a0-430e-ade1-638d781830cc",
+ "restoreTimestampInUtc": "2021-03-11T22:05:09Z",
+ "databasesToRestore": [
+ {
+ "databaseName": "db1",
+ "collectionNames": [
+ "collection1",
+ "collection2"
+ ]
+ },
+ {
+ "databaseName": "db2",
+ "collectionNames": [
+ "collection3",
+ "collection4"
+ ]
+ }
+ ]
+ },
+ "backupPolicy": {
+ "type": "Continuous"
+ },
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "BoundedStaleness",
+ "maxIntervalInSeconds": 10,
+ "maxStalenessPrefix": 200
+ },
+ "keyVaultKeyUri": "https://myKeyVault.vault.azure.net",
+ "enableFreeTier": false,
+ "apiProperties": {
+ "serverVersion": "3.2"
+ },
+ "enableAnalyticalStorage": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": "ddb1",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/databaseAccounts",
+ "kind": "GlobalDocumentDB",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Initializing",
+ "ipRules": [],
+ "databaseAccountOfferType": "Standard",
+ "disableKeyBasedMetadataWriteAccess": false,
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "createMode": "Restore",
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "Session",
+ "maxIntervalInSeconds": 5,
+ "maxStalenessPrefix": 100
+ },
+ "writeLocations": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 0,
+ "isZoneRedundant": false
+ }
+ ],
+ "readLocations": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 0,
+ "isZoneRedundant": false
+ }
+ ],
+ "locations": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 0,
+ "isZoneRedundant": false
+ }
+ ],
+ "failoverPolicies": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "failoverPriority": 0
+ }
+ ],
+ "enableFreeTier": false,
+ "apiProperties": {},
+ "enableAnalyticalStorage": false
+ },
+ "systemData": {
+ "createdAt": "2021-03-12T22:05:09Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBServicesList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBServicesList.json
new file mode 100644
index 000000000000..cbaaebe49826
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBServicesList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/sqlDedicatedGateway",
+ "name": "sqlDedicatedGateway",
+ "type": "Microsoft.DocumentDB/databaseAccounts/services",
+ "properties": {
+ "status": "Running",
+ "creationTime": "2021-01-25T12:56:05.4622517Z",
+ "instanceSize": "Cosmos.D4s",
+ "instanceCount": 1,
+ "serviceType": "SqlDedicatedGateway",
+ "SqlDedicatedGatewayEndpoint": "https://sqlDedicatedGateway.sqlx.cosmos.windows-int.net/",
+ "locations": [
+ {
+ "name": "sqlDedicatedGateway-westus2",
+ "location": "West US 2",
+ "status": "Running",
+ "SqlDedicatedGatewayEndpoint": "https://sqlDedicatedGateway-westus.sqlx.cosmos.windows-int.net/"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlContainerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlContainerCreateUpdate.json
new file mode 100644
index 000000000000..4bc044b699bd
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlContainerCreateUpdate.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "createUpdateSqlContainerParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "containerName",
+ "indexingPolicy": {
+ "indexingMode": "consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ }
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName",
+ "name": "containerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "containerName",
+ "indexingPolicy": {
+ "indexingMode": "consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlContainerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlContainerDelete.json
new file mode 100644
index 000000000000..2a920aa76912
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlContainerDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlContainerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlContainerGet.json
new file mode 100644
index 000000000000..54f8e7410cd6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlContainerGet.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName",
+ "name": "containerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "containerName",
+ "indexingPolicy": {
+ "indexingMode": "consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ },
+ "options": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlContainerList.json
new file mode 100644
index 000000000000..3ed594b462fc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlContainerList.json
@@ -0,0 +1,192 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName",
+ "name": "containerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "testctn",
+ "indexingPolicy": {
+ "indexingMode": "consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName1",
+ "name": "containerName1",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "testctn1",
+ "indexingPolicy": {
+ "indexingMode": "consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber",
+ "/AccountLocation"
+ ],
+ "kind": "MultiHash",
+ "version": 2
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ },
+ "_rid": "PD5DALigDiw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName2",
+ "name": "containerName2",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "testctn2",
+ "indexingPolicy": {
+ "indexingMode": "consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/_partitionKey"
+ ],
+ "kind": "Hash",
+ "version": 2,
+ "systemKey": true
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ },
+ "_rid": "PD5DALigDhw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlContainerMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlContainerMigrateToAutoscale.json
new file mode 100644
index 000000000000..639a229c48a0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlContainerMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "autoscaleSettings": {
+ "maxThroughput": 4000
+ },
+ "minimumThroughput": "4000",
+ "offerReplacePending": "false",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlContainerMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlContainerMigrateToManualThroughput.json
new file mode 100644
index 000000000000..d2e23fb50119
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlContainerMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlContainerThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlContainerThroughputGet.json
new file mode 100644
index 000000000000..ca9c60b4a182
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlContainerThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlContainerThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlContainerThroughputUpdate.json
new file mode 100644
index 000000000000..0c7cb8883ff1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlContainerThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..83b72d7114cc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDatabaseCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "createUpdateSqlDatabaseParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "databaseName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDatabaseDelete.json
new file mode 100644
index 000000000000..00686dc8b277
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDatabaseGet.json
new file mode 100644
index 000000000000..216e1e0f7c24
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDatabaseGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\"",
+ "_colls": "colls/",
+ "_users": "users/"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDatabaseList.json
new file mode 100644
index 000000000000..c9590e9a5113
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDatabaseList.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName",
+ "name": "databaseName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "databaseName",
+ "_rid": "CqNBAA==",
+ "_ts": 1449602962,
+ "_etag": "\"00000a00-0000-0000-0000-56672f920000\"",
+ "_colls": "colls/",
+ "_users": "users/"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..53d0427d9d53
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "autoscaleSettings": {
+ "maxThroughput": 4000
+ },
+ "minimumThroughput": "4000",
+ "offerReplacePending": "false",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..5ca65fc3afc6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDatabaseThroughputGet.json
new file mode 100644
index 000000000000..ca77c04ab7d1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..73846624de2d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDedicatedGatewayServiceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDedicatedGatewayServiceCreate.json
new file mode 100644
index 000000000000..f9d6201fc168
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDedicatedGatewayServiceCreate.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "serviceName": "SqlDedicatedGateway",
+ "createUpdateParameters": {
+ "properties": {
+ "instanceSize": "Cosmos.D4s",
+ "instanceCount": 1,
+ "serviceType": "SqlDedicatedGateway"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/SqlDedicatedGateway",
+ "name": "SqlDedicatedGateway",
+ "type": "Microsoft.DocumentDB/databaseAccounts/services",
+ "properties": {
+ "status": "Running",
+ "creationTime": "2021-01-25T12:56:05.4622517Z",
+ "instanceSize": "Cosmos.D4s",
+ "instanceCount": 1,
+ "serviceType": "SqlDedicatedGateway",
+ "SqlDedicatedGatewayEndpoint": "https://sqlDedicatedGateway.sqlx.cosmos.windows-int.net/",
+ "locations": [
+ {
+ "name": "SqlDedicatedGateway-westus2",
+ "location": "West US 2",
+ "status": "Running",
+ "SqlDedicatedGatewayEndpoint": "https://sqlDedicatedGateway-westus.sqlx.cosmos.windows-int.net/"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDedicatedGatewayServiceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDedicatedGatewayServiceDelete.json
new file mode 100644
index 000000000000..65dc7d6fd87e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDedicatedGatewayServiceDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "serviceName": "SqlDedicatedGateway"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDedicatedGatewayServiceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDedicatedGatewayServiceGet.json
new file mode 100644
index 000000000000..2e9d81e754e9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlDedicatedGatewayServiceGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "serviceName": "SqlDedicatedGateway"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/SqlDedicatedGateway",
+ "name": "SqlDedicatedGateway",
+ "type": "Microsoft.DocumentDB/databaseAccounts/services",
+ "properties": {
+ "status": "Running",
+ "creationTime": "2021-01-25T12:56:05.4622517Z",
+ "instanceSize": "Cosmos.D4s",
+ "instanceCount": 1,
+ "serviceType": "SqlDedicatedGateway",
+ "SqlDedicatedGatewayEndpoint": "https://sqlDedicatedGateway.sqlx.cosmos.windows-int.net/",
+ "locations": [
+ {
+ "name": "SqlDedicatedGateway-westus2",
+ "location": "West US 2",
+ "status": "Running",
+ "SqlDedicatedGatewayEndpoint": "https://sqlDedicatedGateway-westus.sqlx.cosmos.windows-int.net/"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json
new file mode 100644
index 000000000000..ac7b9a3bbcdd
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "roleAssignmentId": "myRoleAssignmentId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-04-01-preview",
+ "createUpdateSqlRoleAssignmentParameters": {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases",
+ "principalId": "myPrincipalId"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleAssignments/myRoleAssignmentId",
+ "name": "myRoleAssignmentId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments",
+ "properties": {
+ "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases",
+ "principalId": "myPrincipalId"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlRoleAssignmentDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlRoleAssignmentDelete.json
new file mode 100644
index 000000000000..07c65bf4c7f1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlRoleAssignmentDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "roleAssignmentId": "myRoleAssignmentId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlRoleAssignmentGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlRoleAssignmentGet.json
new file mode 100644
index 000000000000..ae58dae1f089
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlRoleAssignmentGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "roleAssignmentId": "myRoleAssignmentId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleAssignments/myRoleAssignmentId",
+ "name": "myRoleAssignmentId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments",
+ "properties": {
+ "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases",
+ "principalId": "myPrincipalId"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlRoleAssignmentList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlRoleAssignmentList.json
new file mode 100644
index 000000000000..58106aab76f5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlRoleAssignmentList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleAssignments/myRoleAssignmentId",
+ "name": "myRoleAssignmentId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments",
+ "properties": {
+ "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases",
+ "principalId": "myPrincipalId"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json
new file mode 100644
index 000000000000..5f0d3bd6ec65
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "roleDefinitionId": "myRoleDefinitionId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-04-01-preview",
+ "createUpdateSqlRoleDefinitionParameters": {
+ "properties": {
+ "roleName": "myRoleName",
+ "type": "CustomRole",
+ "assignableScopes": [
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales",
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases"
+ ],
+ "permissions": [
+ {
+ "dataActions": [
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create",
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"
+ ],
+ "notDataActions": []
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "name": "myRoleDefinitionId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions",
+ "properties": {
+ "roleName": "myRoleName",
+ "type": "CustomRole",
+ "assignableScopes": [
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales",
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases"
+ ],
+ "permissions": [
+ {
+ "dataActions": [
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create",
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlRoleDefinitionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlRoleDefinitionDelete.json
new file mode 100644
index 000000000000..82245870e202
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlRoleDefinitionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "roleDefinitionId": "myRoleDefinitionId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlRoleDefinitionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlRoleDefinitionGet.json
new file mode 100644
index 000000000000..4e8b6a77d3a6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlRoleDefinitionGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "roleDefinitionId": "myRoleDefinitionId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "name": "myRoleDefinitionId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions",
+ "properties": {
+ "roleName": "myRoleName",
+ "type": "CustomRole",
+ "assignableScopes": [
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales",
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases"
+ ],
+ "permissions": [
+ {
+ "dataActions": [
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create",
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"
+ ],
+ "notDataActions": []
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlRoleDefinitionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlRoleDefinitionList.json
new file mode 100644
index 000000000000..87c2e5a9a2a3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlRoleDefinitionList.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "name": "myRoleDefinitionId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions",
+ "properties": {
+ "roleName": "myRoleName",
+ "type": "CustomRole",
+ "assignableScopes": [
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales",
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases"
+ ],
+ "permissions": [
+ {
+ "dataActions": [
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create",
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"
+ ],
+ "notDataActions": []
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlStoredProcedureCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlStoredProcedureCreateUpdate.json
new file mode 100644
index 000000000000..84ddd0e57fbe
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlStoredProcedureCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "storedProcedureName": "storedProcedureName",
+ "createUpdateSqlStoredProcedureParameters": {
+ "properties": {
+ "resource": {
+ "id": "storedProcedureName",
+ "body": "body"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlStoredProcedures/storedProcedureName",
+ "name": "storedProcedureName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlStoredProcedures",
+ "properties": {
+ "resource": {
+ "id": "storedProcedureName",
+ "body": "body",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlStoredProcedureDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlStoredProcedureDelete.json
new file mode 100644
index 000000000000..01df3fc83a74
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlStoredProcedureDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "storedProcedureName": "storedProcedureName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlStoredProcedureGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlStoredProcedureGet.json
new file mode 100644
index 000000000000..6bccfcefd9a6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlStoredProcedureGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "storedProcedureName": "storedProcedureName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlStoredProcedures/storedProcedureName",
+ "name": "storedProcedureName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlStoredProcedures",
+ "properties": {
+ "resource": {
+ "id": "storedProcedureName",
+ "body": "body",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlStoredProcedureList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlStoredProcedureList.json
new file mode 100644
index 000000000000..3244e89cc879
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlStoredProcedureList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlStoredProcedures/storedProcedureName",
+ "name": "testctn",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlStoredProcedures",
+ "properties": {
+ "resource": {
+ "id": "testctn",
+ "body": "body",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlTriggerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlTriggerCreateUpdate.json
new file mode 100644
index 000000000000..a49bc50450fc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlTriggerCreateUpdate.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "triggerName": "triggerName",
+ "createUpdateSqlTriggerParameters": {
+ "properties": {
+ "resource": {
+ "id": "triggerName",
+ "body": "body",
+ "triggerType": "triggerType",
+ "triggerOperation": "triggerOperation"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlTriggers/triggerName",
+ "name": "triggerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlTriggers",
+ "properties": {
+ "resource": {
+ "id": "triggerName",
+ "body": "body",
+ "triggerType": "triggerType",
+ "triggerOperation": "triggerOperation",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlTriggerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlTriggerDelete.json
new file mode 100644
index 000000000000..88fa07640a1d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlTriggerDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "triggerName": "triggerName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlTriggerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlTriggerGet.json
new file mode 100644
index 000000000000..0e4c48cff889
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlTriggerGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "triggerName": "triggerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlTriggers/triggerName",
+ "name": "triggerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlTriggers",
+ "properties": {
+ "resource": {
+ "id": "triggerName",
+ "body": "body",
+ "triggerType": "triggerType",
+ "triggerOperation": "triggerOperation",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlTriggerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlTriggerList.json
new file mode 100644
index 000000000000..c060d478d14e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlTriggerList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlTriggers/triggerName",
+ "name": "testctn",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlTriggers",
+ "properties": {
+ "resource": {
+ "id": "testctn",
+ "body": "body",
+ "triggerType": "triggerType",
+ "triggerOperation": "triggerOperation",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json
new file mode 100644
index 000000000000..f0e456e107d2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "userDefinedFunctionName": "userDefinedFunctionName",
+ "createUpdateSqlUserDefinedFunctionParameters": {
+ "properties": {
+ "resource": {
+ "id": "userDefinedFunctionName",
+ "body": "body"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlUserDefinedFunctions/userDefinedFunctionName",
+ "name": "userDefinedFunctionName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlUserDefinedFunctions",
+ "properties": {
+ "resource": {
+ "id": "userDefinedFunctionName",
+ "body": "body",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlUserDefinedFunctionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlUserDefinedFunctionDelete.json
new file mode 100644
index 000000000000..aa99394a4934
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlUserDefinedFunctionDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "userDefinedFunctionName": "userDefinedFunctionName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlUserDefinedFunctionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlUserDefinedFunctionGet.json
new file mode 100644
index 000000000000..8552eeb95225
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlUserDefinedFunctionGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "userDefinedFunctionName": "userDefinedFunctionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlUserDefinedFunctions/userDefinedFunctionName",
+ "name": "userDefinedFunctionName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlUserDefinedFunctions",
+ "properties": {
+ "resource": {
+ "id": "userDefinedFunctionName",
+ "body": "body",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlUserDefinedFunctionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlUserDefinedFunctionList.json
new file mode 100644
index 000000000000..8fcc279752ad
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBSqlUserDefinedFunctionList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlUserDefinedFunctions/userDefinedFunctionName",
+ "name": "testctn",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlUserDefinedFunctions",
+ "properties": {
+ "resource": {
+ "id": "testctn",
+ "body": "body",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBTableCreateUpdate.json
new file mode 100644
index 000000000000..ea685bbaa224
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBTableCreateUpdate.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "tableName": "tableName",
+ "createUpdateTableParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "tableName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/tables",
+ "location": "West US",
+ "properties": {
+ "resource": {
+ "id": "tableName"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBTableDelete.json
new file mode 100644
index 000000000000..b4a7cd526df1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBTableDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBTableGet.json
new file mode 100644
index 000000000000..1368139c4733
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBTableGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/tables",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "tableName",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBTableList.json
new file mode 100644
index 000000000000..b3573f0e48e3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBTableList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName",
+ "name": "tableName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/tables",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "tableName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBTableMigrateToAutoscale.json
new file mode 100644
index 000000000000..e45c4e30457a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBTableMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-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/preview/2021-04-01-preview/examples/CosmosDBTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBTableMigrateToManualThroughput.json
new file mode 100644
index 000000000000..82335137684b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBTableMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-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/preview/2021-04-01-preview/examples/CosmosDBTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBTableThroughputGet.json
new file mode 100644
index 000000000000..47b4a47535bf
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBTableThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/tables/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBTableThroughputUpdate.json
new file mode 100644
index 000000000000..78f0b9759187
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/examples/CosmosDBTableThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "tableName": "tableName",
+ "updateThroughputParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/tables/throughputSettings",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true",
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/managedCassandra.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/managedCassandra.json
new file mode 100644
index 000000000000..6754b9d6e5cc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/managedCassandra.json
@@ -0,0 +1,1109 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB - Managed Cassandra",
+ "description": "Azure Cosmos DB Database Service Managed Cassandra REST API",
+ "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}/providers/Microsoft.DocumentDB/cassandraClusters": {
+ "get": {
+ "operationId": "CassandraClusters_ListBySubscription",
+ "description": "List all managed Cassandra clusters in this subscription.",
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "CosmosDBManagedCassandraClusterListBySubscription": {
+ "$ref": "./examples/CosmosDBManagedCassandraClusterListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of managed Cassandra clusters.",
+ "schema": {
+ "$ref": "#/definitions/ListClusters"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters": {
+ "get": {
+ "operationId": "CassandraClusters_ListByResourceGroup",
+ "description": "List all managed Cassandra clusters in this resource group.",
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "CosmosDBManagedCassandraClusterListByResourceGroup": {
+ "$ref": "./examples/CosmosDBManagedCassandraClusterListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of managed Cassandra clusters.",
+ "schema": {
+ "$ref": "#/definitions/ListClusters"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}": {
+ "get": {
+ "operationId": "CassandraClusters_Get",
+ "description": "Get the properties of a managed Cassandra cluster.",
+ "x-ms-examples": {
+ "CosmosDBManagedCassandraClusterGet": {
+ "$ref": "./examples/CosmosDBManagedCassandraClusterGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/clusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The properties of the managed Cassandra cluster were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ClusterResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "CassandraClusters_Delete",
+ "description": "Deletes a managed Cassandra cluster.",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "CosmosDBManagedCassandraClusterDelete": {
+ "$ref": "./examples/CosmosDBManagedCassandraClusterDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/clusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted. The managed Cassandra cluster will be deleted asynchronously."
+ },
+ "204": {
+ "description": "No such cluster to delete."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "CassandraClusters_CreateUpdate",
+ "description": "Create or update a managed Cassandra cluster. When updating, you must specify all writable properties. To update only some properties, use PATCH.",
+ "x-ms-examples": {
+ "CosmosDBManagedCassandraClusterCreate": {
+ "$ref": "./examples/CosmosDBManagedCassandraClusterCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/clusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterResource"
+ },
+ "description": "The properties specifying the desired state of the managed Cassandra cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The managed Cassandra cluster is being updated. Poll for provisioningState=Succeeded to find when creation completes.",
+ "schema": {
+ "$ref": "#/definitions/ClusterResource"
+ }
+ },
+ "201": {
+ "description": "The managed Cassandra cluster is being created. Poll for provisioningState=Succeeded to find when creation completes.",
+ "schema": {
+ "$ref": "#/definitions/ClusterResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "operationId": "CassandraClusters_Update",
+ "description": "Updates some of the properties of a managed Cassandra cluster.",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "CosmosDBManagedCassandraClusterPatch": {
+ "$ref": "./examples/CosmosDBManagedCassandraClusterPatch.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/clusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterResource"
+ },
+ "description": "Parameters to provide for specifying the managed Cassandra cluster."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The managed Cassandra cluster is being updated. Poll the provided operation for completion.",
+ "schema": {
+ "$ref": "#/definitions/ClusterResource"
+ }
+ },
+ "200": {
+ "description": "Completed synchronously. This will only happen if the fields changed by patch require no changes to the actual Cassandra data center.",
+ "schema": {
+ "$ref": "#/definitions/ClusterResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/repair": {
+ "post": {
+ "operationId": "CassandraClusters_RequestRepair",
+ "description": "Request that repair begin on this cluster as soon as possible.",
+ "x-ms-examples": {
+ "CosmosDBManagedCassandraRepair": {
+ "$ref": "./examples/CosmosDBManagedCassandraRepair.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/clusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RepairPostBody"
+ },
+ "description": "Specification of what keyspaces and tables to run repair on."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The repair operation will begin as soon as possible."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/fetchNodeStatus": {
+ "post": {
+ "operationId": "CassandraClusters_FetchNodeStatus",
+ "description": "Request the status of all nodes in the cluster (as returned by 'nodetool status').",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "CosmosDBManagedCassandraClusterFetchNodeStatus": {
+ "$ref": "./examples/CosmosDBManagedCassandraClusterFetchNodeStatus.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/clusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted. The node status will be returned asynchronously."
+ },
+ "200": {
+ "description": "Successfully fetched the status of all nodes in the cluster.",
+ "schema": {
+ "$ref": "#/definitions/ClusterNodeStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/backups": {
+ "get": {
+ "operationId": "CassandraClusters_ListBackups",
+ "description": "List the backups of this cluster that are available to restore.",
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "CosmosDBManagedCassandraBackupsList": {
+ "$ref": "./examples/CosmosDBManagedCassandraBackupsList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/clusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of restorable backups for this Cassandra cluster.",
+ "schema": {
+ "$ref": "#/definitions/ListBackups"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/backups/{backupId}": {
+ "get": {
+ "operationId": "CassandraClusters_GetBackup",
+ "description": "Get the properties of an individual backup of this cluster that is available to restore.",
+ "x-ms-examples": {
+ "CosmosDBManagedCassandraBackup": {
+ "$ref": "./examples/CosmosDBManagedCassandraBackup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/clusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/backupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the properties of the backup.",
+ "schema": {
+ "$ref": "#/definitions/BackupResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters": {
+ "get": {
+ "operationId": "CassandraDataCenters_List",
+ "description": "List all data centers in a particular managed Cassandra cluster.",
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "CosmosDBManagedCassandraDataCenterList": {
+ "$ref": "./examples/CosmosDBManagedCassandraDataCenterList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/clusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of managed Cassandra data centers.",
+ "schema": {
+ "$ref": "#/definitions/ListDataCenters"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}": {
+ "get": {
+ "operationId": "CassandraDataCenters_Get",
+ "description": "Get the properties of a managed Cassandra data center.",
+ "x-ms-examples": {
+ "CosmosDBManagedCassandraDataCenterGet": {
+ "$ref": "./examples/CosmosDBManagedCassandraDataCenterGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/clusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/dataCenterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The properties of the managed Cassandra data center were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/DataCenterResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "CassandraDataCenters_Delete",
+ "description": "Delete a managed Cassandra data center.",
+ "x-ms-examples": {
+ "CosmosDBManagedCassandraDataCenterDelete": {
+ "$ref": "./examples/CosmosDBManagedCassandraDataCenterDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/clusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/dataCenterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted. Deletion will complete asynchronously."
+ },
+ "204": {
+ "description": "Cassandra cluster with the specified name does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "CassandraDataCenters_CreateUpdate",
+ "description": "Create or update a managed Cassandra data center. When updating, overwrite all properties. To update only some properties, use PATCH.",
+ "x-ms-examples": {
+ "CosmosDBManagedCassandraDataCenterCreate": {
+ "$ref": "./examples/CosmosDBManagedCassandraDataCenterCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/clusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/dataCenterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataCenterResource"
+ },
+ "description": "Parameters specifying the managed Cassandra data center."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Accepted. The data center will be created asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/DataCenterResource"
+ }
+ },
+ "200": {
+ "description": "Accepted. The data center will be updated asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/DataCenterResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "operationId": "CassandraDataCenters_Update",
+ "description": "Update some of the properties of a managed Cassandra data center.",
+ "x-ms-examples": {
+ "CosmosDBManagedCassandraDataCenterUpdate": {
+ "$ref": "./examples/CosmosDBManagedCassandraDataCenterPatch.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/clusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/dataCenterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataCenterResource"
+ },
+ "description": "Parameters to provide for specifying the managed Cassandra data center."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted. Update will proceed asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/DataCenterResource"
+ }
+ },
+ "200": {
+ "description": "Completed synchronously. This will only happen if the fields changed by patch require no changes to the actual Cassandra cluster, such as editing the tags.",
+ "schema": {
+ "$ref": "#/definitions/DataCenterResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "clusterNameParameter": {
+ "name": "clusterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Managed Cassandra cluster name.",
+ "minLength": 1,
+ "maxLength": 100,
+ "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$"
+ },
+ "dataCenterNameParameter": {
+ "name": "dataCenterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Data center name in a managed Cassandra cluster.",
+ "minLength": 1,
+ "maxLength": 100,
+ "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$"
+ },
+ "backupNameParameter": {
+ "name": "backupId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Id of a restorable backup of a Cassandra cluster.",
+ "minLength": 1,
+ "maxLength": 15,
+ "pattern": "^[0-9]+$"
+ }
+ },
+ "definitions": {
+ "ListClusters": {
+ "description": "List of managed Cassandra clusters.",
+ "readOnly": true,
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Container for the array of clusters.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClusterResource"
+ }
+ }
+ }
+ },
+ "ManagedCassandraProvisioningState": {
+ "description": "The status of the resource at the time the operation was called.",
+ "type": "string",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedCassandraProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "ClusterResource": {
+ "description": "Representation of a managed Cassandra cluster.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "cosmos-db.json#/definitions/ARMResourceProperties"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "type": "object",
+ "description": "Properties of a managed Cassandra cluster.",
+ "properties": {
+ "provisioningState": {
+ "$ref": "#/definitions/ManagedCassandraProvisioningState"
+ },
+ "restoreFromBackupId": {
+ "type": "string",
+ "x-ms-mutability": [
+ "create"
+ ],
+ "description": "To create an empty cluster, omit this field or set it to null. To restore a backup into a new cluster, set this field to the resource id of the backup."
+ },
+ "delegatedManagementSubnetId": {
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ],
+ "description": "Resource id of a subnet that this cluster's management service should have its network interface attached to. The subnet must be routable to all subnets that will be delegated to data centers. The resource id must be of the form '/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets/'"
+ },
+ "cassandraVersion": {
+ "type": "string",
+ "description": "Which version of Cassandra should this cluster converge to running (e.g., 3.11). When updated, the cluster may take some time to migrate to the new version."
+ },
+ "clusterNameOverride": {
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ],
+ "description": "If you need to set the clusterName property in cassandra.yaml to something besides the resource name of the cluster, set the value to use on this property."
+ },
+ "authenticationMethod": {
+ "type": "string",
+ "description": "Which authentication method Cassandra should use to authenticate clients. 'None' turns off authentication, so should not be used except in emergencies. 'Cassandra' is the default password based authentication. The default is 'Cassandra'.",
+ "enum": [
+ "None",
+ "Cassandra"
+ ],
+ "x-ms-enum": {
+ "name": "AuthenticationMethod",
+ "modelAsString": true
+ }
+ },
+ "initialCassandraAdminPassword": {
+ "x-ms-mutability": [
+ "create"
+ ],
+ "x-ms-secret": true,
+ "description": "Initial password for clients connecting as admin to the cluster. Should be changed after cluster creation. Returns null on GET. This field only applies when the authenticationMethod field is 'Cassandra'.",
+ "type": "string"
+ },
+ "hoursBetweenBackups": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of hours to wait between taking a backup of the cluster. To disable backups, set this property to 0."
+ },
+ "prometheusEndpoint": {
+ "$ref": "#/definitions/SeedNode",
+ "description": "Hostname or IP address where the Prometheus endpoint containing data about the managed Cassandra nodes can be reached."
+ },
+ "repairEnabled": {
+ "type": "boolean",
+ "description": "Should automatic repairs run on this cluster? If omitted, this is true, and should stay true unless you are running a hybrid cluster where you are already doing your own repairs."
+ },
+ "clientCertificates": {
+ "description": "List of TLS certificates used to authorize clients connecting to the cluster. All connections are TLS encrypted whether clientCertificates is set or not, but if clientCertificates is set, the managed Cassandra cluster will reject all connections not bearing a TLS client certificate that can be validated from one or more of the public certificates in this property.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Certificate"
+ }
+ },
+ "externalGossipCertificates": {
+ "description": "List of TLS certificates used to authorize gossip from unmanaged data centers. The TLS certificates of all nodes in unmanaged data centers must be verifiable using one of the certificates provided in this property.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Certificate"
+ }
+ },
+ "gossipCertificates": {
+ "readOnly": true,
+ "x-ms-mutability": [
+ "read"
+ ],
+ "description": "List of TLS certificates that unmanaged nodes must trust for gossip with managed nodes. All managed nodes will present TLS client certificates that are verifiable using one of the certificates provided in this property.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Certificate"
+ }
+ },
+ "externalSeedNodes": {
+ "type": "array",
+ "description": "List of IP addresses of seed nodes in unmanaged data centers. These will be added to the seed node lists of all managed nodes.",
+ "items": {
+ "$ref": "#/definitions/SeedNode"
+ }
+ },
+ "seedNodes": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SeedNode"
+ },
+ "description": "List of IP addresses of seed nodes in the managed data centers. These should be added to the seed node lists of all unmanaged nodes."
+ }
+ }
+ }
+ }
+ },
+ "RepairPostBody": {
+ "description": "Specification of the keyspaces and tables to run repair on.",
+ "type": "object",
+ "required": [
+ "keyspace"
+ ],
+ "properties": {
+ "keyspace": {
+ "type": "string",
+ "description": "The name of the keyspace that repair should be run on."
+ },
+ "tables": {
+ "type": "array",
+ "description": "List of tables in the keyspace to repair. If omitted, repair all tables in the keyspace.",
+ "items": {
+ "type": "string",
+ "description": "Name of a table in the Cassandra keyspace."
+ }
+ }
+ }
+ },
+ "ClusterNodeStatus": {
+ "description": "The status of all nodes in the cluster (as returned by 'nodetool status').",
+ "type": "object",
+ "properties": {
+ "nodes": {
+ "type": "array",
+ "description": "Information about nodes in the cluster (corresponds to what is returned from nodetool info).",
+ "items": {
+ "type": "object",
+ "properties": {
+ "datacenter": {
+ "type": "string",
+ "description": "The Cassandra data center this node resides in."
+ },
+ "status": {
+ "type": "string",
+ "description": "Indicates whether the node is functioning or not.",
+ "enum": [
+ "Up",
+ "Down"
+ ],
+ "x-ms-enum": {
+ "name": "NodeStatus",
+ "modelAsString": true
+ }
+ },
+ "state": {
+ "type": "string",
+ "description": "The state of the node in relation to the cluster.",
+ "enum": [
+ "Normal",
+ "Leaving",
+ "Joining",
+ "Moving",
+ "Stopped"
+ ],
+ "x-ms-enum": {
+ "name": "NodeState",
+ "modelAsString": true
+ }
+ },
+ "address": {
+ "type": "string",
+ "description": "The node's URL."
+ },
+ "load": {
+ "type": "string",
+ "description": "The amount of file system data in the data directory (e.g., 47.66 KB), excluding all content in the snapshots subdirectories. Because all SSTable data files are included, any data that is not cleaned up (such as TTL-expired cell or tombstoned data) is counted."
+ },
+ "tokens": {
+ "type": "array",
+ "description": "List of tokens.",
+ "items": {
+ "type": "string",
+ "description": "Token of this node."
+ }
+ },
+ "owns": {
+ "type": "number",
+ "format": "double",
+ "description": "The percentage of the data owned by the node per datacenter times the replication factor (e.g., 33.3, or null if the data is not available). For example, a node can own 33% of the ring, but shows 100% if the replication factor is 3. For non-system keyspaces, the endpoint percentage ownership information is shown."
+ },
+ "hostId": {
+ "type": "string",
+ "description": "The network ID of the node."
+ },
+ "rack": {
+ "type": "string",
+ "description": "The rack this node is part of."
+ }
+ }
+ }
+ }
+ }
+ },
+ "BackupResource": {
+ "description": "A restorable backup of a Cassandra cluster.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "cosmos-db.json#/definitions/ARMProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "type": "object",
+ "properties": {
+ "timestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time this backup was taken, formatted like 2021-01-21T17:35:21"
+ }
+ }
+ }
+ }
+ },
+ "ListBackups": {
+ "description": "List of restorable backups for a Cassandra cluster.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Container for array of backups.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/BackupResource"
+ }
+ }
+ }
+ },
+ "ListDataCenters": {
+ "description": "List of managed Cassandra data centers and their properties.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Container for array of data centers.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/DataCenterResource"
+ }
+ }
+ }
+ },
+ "SeedNode": {
+ "type": "object",
+ "properties": {
+ "ipAddress": {
+ "description": "IP address of this seed node.",
+ "type": "string"
+ }
+ }
+ },
+ "Certificate": {
+ "type": "object",
+ "properties": {
+ "pem": {
+ "description": "PEM formatted public key.",
+ "type": "string"
+ }
+ }
+ },
+ "DataCenterResource": {
+ "description": "A managed Cassandra data center.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "cosmos-db.json#/definitions/ARMProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Properties of a managed Cassandra data center.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "$ref": "#/definitions/ManagedCassandraProvisioningState"
+ },
+ "dataCenterLocation": {
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ],
+ "description": "The region this data center should be created in."
+ },
+ "delegatedSubnetId": {
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ],
+ "description": "Resource id of a subnet the nodes in this data center should have their network interfaces connected to. The subnet must be in the same region specified in 'dataCenterLocation' and must be able to route to the subnet specified in the cluster's 'delegatedManagementSubnetId' property. This resource id will be of the form '/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets/'."
+ },
+ "nodeCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of nodes the data center should have. This is the desired number. After it is set, it may take some time for the data center to be scaled to match. To monitor the number of nodes and their status, use the fetchNodeStatus method on the cluster."
+ },
+ "seedNodes": {
+ "readOnly": true,
+ "type": "array",
+ "description": "IP addresses for seed nodes in this data center. This is for reference. Generally you will want to use the seedNodes property on the cluster, which aggregates the seed nodes from all data centers in the cluster.",
+ "items": {
+ "$ref": "#/definitions/SeedNode"
+ }
+ },
+ "base64EncodedCassandraYamlFragment": {
+ "type": "string",
+ "description": "A fragment of a cassandra.yaml configuration file to be included in the cassandra.yaml for all nodes in this data center. The fragment should be Base64 encoded, and only a subset of keys are allowed."
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/notebook.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/notebook.json
new file mode 100644
index 000000000000..f2c187237314
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/notebook.json
@@ -0,0 +1,461 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "version": "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.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces": {
+ "get": {
+ "tags": [
+ "NotebookWorkspacesResource"
+ ],
+ "description": "Gets the notebook workspace resources of an existing Cosmos DB account.",
+ "operationId": "NotebookWorkspaces_ListByDatabaseAccount",
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved notebook workspace resources.",
+ "schema": {
+ "$ref": "#/definitions/NotebookWorkspaceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CosmosDBNotebookWorkspaceList": {
+ "$ref": "./examples/CosmosDBNotebookWorkspaceList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}": {
+ "get": {
+ "tags": [
+ "NotebookWorkspacesResource"
+ ],
+ "description": "Gets the notebook workspace for a Cosmos DB account.",
+ "operationId": "NotebookWorkspaces_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NotebookWorkspaceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved a specified notebook workspace resource.",
+ "schema": {
+ "$ref": "#/definitions/NotebookWorkspace"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CosmosDBNotebookWorkspaceGet": {
+ "$ref": "./examples/CosmosDBNotebookWorkspaceGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NotebookWorkspacesResource"
+ ],
+ "description": "Creates the notebook workspace for a Cosmos DB account.",
+ "operationId": "NotebookWorkspaces_CreateOrUpdate",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NotebookWorkspaceNameParameter"
+ },
+ {
+ "name": "notebookCreateUpdateParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NotebookWorkspaceCreateUpdateParameters"
+ },
+ "description": "The notebook workspace to create for the current database account."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Creation of notebook workspace will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/NotebookWorkspace"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CosmosDBNotebookWorkspaceCreate": {
+ "$ref": "./examples/CosmosDBNotebookWorkspaceCreate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NotebookWorkspacesResource"
+ ],
+ "description": "Deletes the notebook workspace for a Cosmos DB account.",
+ "operationId": "NotebookWorkspaces_Delete",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NotebookWorkspaceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The notebook workspace delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The specified notebook workspace does not exist in the database account."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CosmosDBNotebookWorkspaceDelete": {
+ "$ref": "./examples/CosmosDBNotebookWorkspaceDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/listConnectionInfo": {
+ "post": {
+ "tags": [
+ "NotebookWorkspacesResource"
+ ],
+ "operationId": "NotebookWorkspaces_ListConnectionInfo",
+ "x-ms-examples": {
+ "CosmosDBNotebookWorkspaceListConnectionInfo": {
+ "$ref": "./examples/CosmosDBNotebookWorkspaceListConnectionInfo.json"
+ }
+ },
+ "description": "Retrieves the connection info for the notebook workspace",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NotebookWorkspaceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/NotebookWorkspaceConnectionInfoResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/regenerateAuthToken": {
+ "post": {
+ "tags": [
+ "NotebookWorkspacesResource"
+ ],
+ "operationId": "NotebookWorkspaces_RegenerateAuthToken",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "CosmosDBNotebookWorkspaceRegenerateAuthToken": {
+ "$ref": "./examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json"
+ }
+ },
+ "description": "Regenerates the auth token for the notebook workspace",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NotebookWorkspaceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted. The regenerate auth token operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/start": {
+ "post": {
+ "tags": [
+ "NotebookWorkspacesResource"
+ ],
+ "operationId": "NotebookWorkspaces_Start",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "CosmosDBNotebookWorkspaceStart": {
+ "$ref": "./examples/CosmosDBNotebookWorkspaceStart.json"
+ }
+ },
+ "description": "Starts the notebook workspace",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/NotebookWorkspaceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted. The start operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "NotebookWorkspaceCreateUpdateParameters": {
+ "description": "Parameters to create a notebook workspace resource",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/definitions/ARMProxyResource"
+ }
+ ]
+ },
+ "NotebookWorkspaceListResult": {
+ "description": "A list of notebook workspace resources",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of notebook workspace resources",
+ "items": {
+ "$ref": "#/definitions/NotebookWorkspace"
+ }
+ }
+ }
+ },
+ "NotebookWorkspace": {
+ "description": "A notebook workspace resource",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/NotebookWorkspaceProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/definitions/ARMProxyResource"
+ }
+ ]
+ },
+ "NotebookWorkspaceProperties": {
+ "description": "Properties of a notebook workspace resource.",
+ "type": "object",
+ "properties": {
+ "notebookServerEndpoint": {
+ "description": "Specifies the endpoint of Notebook server.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the notebook workspace. Possible values are: Creating, Online, Deleting, Failed, Updating.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "NotebookWorkspaceConnectionInfoResult": {
+ "description": "The connection info for the given notebook workspace",
+ "properties": {
+ "authToken": {
+ "type": "string",
+ "description": "Specifies auth token used for connecting to Notebook server (uses token-based auth).",
+ "readOnly": true
+ },
+ "notebookServerEndpoint": {
+ "type": "string",
+ "description": "Specifies the endpoint of Notebook server.",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "accountNameParameter": {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB database account name.",
+ "minLength": 3,
+ "maxLength": 50,
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*"
+ },
+ "NotebookWorkspaceNameParameter": {
+ "name": "notebookWorkspaceName",
+ "in": "path",
+ "description": "The name of the notebook workspace resource.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "default"
+ ],
+ "x-ms-enum": {
+ "name": "NotebookWorkspaceName",
+ "modelAsString": true
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/privateEndpointConnection.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/privateEndpointConnection.json
new file mode 100644
index 000000000000..28ef1a2dc9d7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/privateEndpointConnection.json
@@ -0,0 +1,318 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "version": "2021-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.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "List all private endpoint connections on a Cosmos DB account.",
+ "operationId": "PrivateEndpointConnections_ListByDatabaseAccount",
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved private endpoint connections.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets private endpoint connection.": {
+ "$ref": "./examples/CosmosDBPrivateEndpointConnectionListGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Gets a private endpoint connection.",
+ "operationId": "PrivateEndpointConnections_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved a specified private endpoint connection.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets private endpoint connection.": {
+ "$ref": "./examples/CosmosDBPrivateEndpointConnectionGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Approve or reject a private endpoint connection with a given name.",
+ "operationId": "PrivateEndpointConnections_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully approved or rejected private endpoint connection.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "202": {
+ "description": "Accepted. The private endpoint connection update will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Approve or reject a private endpoint connection with a given name.": {
+ "$ref": "./examples/CosmosDBPrivateEndpointConnectionUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Deletes a private endpoint connection with a given name.",
+ "operationId": "PrivateEndpointConnections_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted. The private endpoint connection delete will complete asynchronously."
+ },
+ "204": {
+ "description": "Private endpoint connection does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Deletes a private endpoint connection with a given name.": {
+ "$ref": "./examples/CosmosDBPrivateEndpointConnectionDelete.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PrivateEndpointConnectionListResult": {
+ "description": "A list of private endpoint connections",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private endpoint connections",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "A private endpoint connection",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "PrivateEndpointConnectionProperties": {
+ "description": "Properties of a private endpoint connection.",
+ "type": "object",
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpointProperty",
+ "description": "Private endpoint which the connection belongs to."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty",
+ "description": "Connection State of the Private Endpoint Connection."
+ },
+ "groupId": {
+ "type": "string",
+ "description": "Group id of the private endpoint."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the private endpoint."
+ }
+ }
+ },
+ "PrivateEndpointProperty": {
+ "type": "object",
+ "description": "Private endpoint which the connection belongs to.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource id of the private endpoint."
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionStateProperty": {
+ "type": "object",
+ "description": "Connection State of the Private Endpoint Connection.",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "The private link service connection status."
+ },
+ "description": {
+ "type": "string",
+ "description": "The private link service connection description."
+ },
+ "actionsRequired": {
+ "type": "string",
+ "description": "Any action that is required beyond basic workflow (approve/ reject/ disconnect)",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "accountNameParameter": {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB database account name.",
+ "minLength": 3,
+ "maxLength": 50,
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*"
+ },
+ "PrivateEndpointConnectionNameParameter": {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The name of the private endpoint connection."
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/privateLinkResources.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/privateLinkResources.json
new file mode 100644
index 000000000000..1f9975584475
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/privateLinkResources.json
@@ -0,0 +1,195 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "version": "2021-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.DocumentDB/databaseAccounts/{accountName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "description": "Gets the private link resources that need to be created for a Cosmos DB account.",
+ "operationId": "PrivateLinkResources_ListByDatabaseAccount",
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved private link resources.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourceListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets private endpoint connection.": {
+ "$ref": "./examples/CosmosDBPrivateLinkResourceListGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateLinkResources/{groupName}": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "description": "Gets the private link resources that need to be created for a Cosmos DB account.",
+ "operationId": "PrivateLinkResources_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/GroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved a specified private link resource.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets private endpoint connection.": {
+ "$ref": "./examples/CosmosDBPrivateLinkResourceGet.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PrivateLinkResourceListResult": {
+ "description": "A list of private link resources",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private link resources",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "description": "A private link resource",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/definitions/ARMProxyResource"
+ }
+ ]
+ },
+ "PrivateLinkResourceProperties": {
+ "description": "Properties of a private link resource.",
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "description": "The private link resource group id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requiredMembers": {
+ "description": "The private link resource required member names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "requiredZoneNames": {
+ "description": "The private link resource required zone names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "accountNameParameter": {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB database account name.",
+ "minLength": 3,
+ "maxLength": 50,
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*"
+ },
+ "GroupNameParameter": {
+ "name": "groupName",
+ "in": "path",
+ "description": "The name of the private link resource.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string"
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/rbac.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/rbac.json
new file mode 100644
index 000000000000..5747c88cf26b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/rbac.json
@@ -0,0 +1,573 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Role Based Access Control Resource Provider REST API",
+ "version": "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.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlRoleDefinition",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleDefinitionGet": {
+ "$ref": "./examples/CosmosDBSqlRoleDefinitionGet.json"
+ }
+ },
+ "description": "Retrieves the properties of an existing Azure Cosmos DB SQL Role Definition with the given Id.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/roleDefinitionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Role Definition was successfully retrieved.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleDefinitionGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlRoleDefinition",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleDefinitionCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlRoleDefinitionCreateUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Creates or updates an Azure Cosmos DB SQL Role Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/roleDefinitionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlRoleDefinitionParameters",
+ "in": "body",
+ "required": true,
+ "description": "The properties required to create or update a Role Definition.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleDefinitionCreateUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Role Definition create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleDefinitionGetResults"
+ }
+ },
+ "202": {
+ "description": "The Role Definition create or update request was accepted and will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlRoleDefinition",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleDefinitionDelete": {
+ "$ref": "./examples/CosmosDBSqlRoleDefinitionDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Deletes an existing Azure Cosmos DB SQL Role Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/roleDefinitionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Role Definition delete operation was completed successfully."
+ },
+ "202": {
+ "description": "The Role Definition delete request was accepted and will complete asynchronously."
+ },
+ "204": {
+ "description": "The requested Role Definition does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions": {
+ "get": {
+ "operationId": "SqlResources_ListSqlRoleDefinitions",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleDefinitionList": {
+ "$ref": "./examples/CosmosDBSqlRoleDefinitionList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the list of all Azure Cosmos DB SQL Role Definitions.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlRoleAssignment",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleAssignmentGet": {
+ "$ref": "./examples/CosmosDBSqlRoleAssignmentGet.json"
+ }
+ },
+ "description": "Retrieves the properties of an existing Azure Cosmos DB SQL Role Assignment with the given Id.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/roleAssignmentIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Role Assignment was successfully retrieved.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleAssignmentGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlRoleAssignment",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleAssignmentCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlRoleAssignmentCreateUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Creates or updates an Azure Cosmos DB SQL Role Assignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/roleAssignmentIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlRoleAssignmentParameters",
+ "in": "body",
+ "required": true,
+ "description": "The properties required to create or update a Role Assignment.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleAssignmentCreateUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Role Assignment create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleAssignmentGetResults"
+ }
+ },
+ "202": {
+ "description": "The Role Assignment create or update request was accepted and will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlRoleAssignment",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleAssignmentDelete": {
+ "$ref": "./examples/CosmosDBSqlRoleAssignmentDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Deletes an existing Azure Cosmos DB SQL Role Assignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/roleAssignmentIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Role Assignment delete operation was completed successfully."
+ },
+ "202": {
+ "description": "The Role Assignment delete request was accepted and will complete asynchronously."
+ },
+ "204": {
+ "description": "The requested Role Assignment does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments": {
+ "get": {
+ "operationId": "SqlResources_ListSqlRoleAssignments",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleAssignmentList": {
+ "$ref": "./examples/CosmosDBSqlRoleAssignmentList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the list of all Azure Cosmos DB SQL Role Assignments.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleAssignmentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "SqlRoleDefinitionResource": {
+ "properties": {
+ "roleName": {
+ "type": "string",
+ "description": "A user-friendly name for the Role Definition. Must be unique for the database account."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "BuiltInRole",
+ "CustomRole"
+ ],
+ "description": "Indicates whether the Role Definition was built-in or user created.",
+ "x-ms-enum": {
+ "name": "RoleDefinitionType",
+ "modelAsString": false
+ }
+ },
+ "assignableScopes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A set of fully qualified Scopes at or below which Role Assignments may be created using this Role Definition. This will allow application of this Role Definition on the entire database account or any underlying Database / Collection. Must have at least one element. Scopes higher than Database account are not enforceable as assignable Scopes. Note that resources referenced in assignable Scopes need not exist."
+ },
+ "permissions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Permission"
+ },
+ "description": "The set of operations allowed through this Role Definition."
+ }
+ },
+ "description": "Azure Cosmos DB SQL Role Definition resource object."
+ },
+ "SqlRoleDefinitionCreateUpdateParameters": {
+ "description": "Parameters to create and update an Azure Cosmos DB SQL Role Definition.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update an Azure Cosmos DB SQL Role Definition.",
+ "$ref": "#/definitions/SqlRoleDefinitionResource"
+ }
+ }
+ },
+ "SqlRoleDefinitionGetResults": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SqlRoleDefinitionResource",
+ "description": "Properties related to the Role Definition."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "cosmos-db.json#/definitions/ARMProxyResource"
+ }
+ ],
+ "description": "An Azure Cosmos DB SQL Role Definition."
+ },
+ "Permission": {
+ "type": "object",
+ "properties": {
+ "dataActions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "An array of data actions that are allowed."
+ },
+ "notDataActions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "An array of data actions that are denied."
+ }
+ },
+ "description": "The set of data plane operations permitted through this Role Definition."
+ },
+ "SqlRoleDefinitionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/SqlRoleDefinitionGetResults"
+ },
+ "description": "List of Role Definitions and their properties."
+ }
+ },
+ "description": "The relevant Role Definitions."
+ },
+ "SqlRoleAssignmentResource": {
+ "type": "object",
+ "properties": {
+ "roleDefinitionId": {
+ "type": "string",
+ "description": "The unique identifier for the associated Role Definition."
+ },
+ "scope": {
+ "type": "string",
+ "description": "The data plane resource path for which access is being granted through this Role Assignment."
+ },
+ "principalId": {
+ "type": "string",
+ "description": "The unique identifier for the associated AAD principal in the AAD graph to which access is being granted through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription."
+ }
+ },
+ "description": "Azure Cosmos DB SQL Role Assignment resource object."
+ },
+ "SqlRoleAssignmentCreateUpdateParameters": {
+ "description": "Parameters to create and update an Azure Cosmos DB SQL Role Assignment.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update an Azure Cosmos DB SQL Role Assignment.",
+ "$ref": "#/definitions/SqlRoleAssignmentResource"
+ }
+ }
+ },
+ "SqlRoleAssignmentGetResults": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SqlRoleAssignmentResource",
+ "description": "Properties related to the Role Assignment."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "cosmos-db.json#/definitions/ARMProxyResource"
+ }
+ ],
+ "description": "An Azure Cosmos DB Role Assignment"
+ },
+ "SqlRoleAssignmentListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/SqlRoleAssignmentGetResults"
+ },
+ "description": "List of Role Assignments and their properties"
+ }
+ },
+ "description": "The relevant Role Assignments."
+ }
+ },
+ "parameters": {
+ "roleDefinitionIdParameter": {
+ "name": "roleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The GUID for the Role Definition."
+ },
+ "roleAssignmentIdParameter": {
+ "name": "roleAssignmentId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The GUID for the Role Assignment."
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/restorable.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/restorable.json
new file mode 100644
index 000000000000..825fe9048984
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/restorable.json
@@ -0,0 +1,767 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "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}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlDatabases": {
+ "get": {
+ "operationId": "RestorableSqlDatabases_List",
+ "x-ms-examples": {
+ "CosmosDBRestorableSqlDatabaseList": {
+ "$ref": "./examples/CosmosDBRestorableSqlDatabaseList.json"
+ }
+ },
+ "description": "Show the event feed of all mutations done on all the Azure Cosmos DB SQL databases under the restorable account. This helps in scenario where database was accidentally deleted to get the deletion time. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/parameters/locationParameter"
+ },
+ {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/parameters/instanceIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/RestorableSqlDatabasesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlContainers": {
+ "get": {
+ "operationId": "RestorableSqlContainers_List",
+ "x-ms-examples": {
+ "CosmosDBRestorableSqlContainerList": {
+ "$ref": "./examples/CosmosDBRestorableSqlContainerList.json"
+ }
+ },
+ "description": "Show the event feed of all mutations done on all the Azure Cosmos DB SQL containers under a specific database. This helps in scenario where container was accidentally deleted. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/parameters/locationParameter"
+ },
+ {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/parameters/instanceIdParameter"
+ },
+ {
+ "$ref": "#/parameters/restorableSqlDatabaseRidParameter"
+ },
+ {
+ "$ref": "#/parameters/restoreStartTime"
+ },
+ {
+ "$ref": "#/parameters/restoreEndTime"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/RestorableSqlContainersListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlResources": {
+ "get": {
+ "operationId": "RestorableSqlResources_List",
+ "x-ms-examples": {
+ "CosmosDBRestorableSqlResourceList": {
+ "$ref": "./examples/CosmosDBRestorableSqlResourceList.json"
+ }
+ },
+ "description": "Return a list of database and container combo that exist on the account at the given timestamp and location. This helps in scenarios to validate what resources exist at given timestamp and location. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/parameters/locationParameter"
+ },
+ {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/parameters/instanceIdParameter"
+ },
+ {
+ "$ref": "#/parameters/restoreLocationParameter"
+ },
+ {
+ "$ref": "#/parameters/restoreTimestampInUtcParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/RestorableSqlResourcesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbDatabases": {
+ "get": {
+ "operationId": "RestorableMongodbDatabases_List",
+ "x-ms-examples": {
+ "CosmosDBRestorableMongodbDatabaseList": {
+ "$ref": "./examples/CosmosDBRestorableMongodbDatabaseList.json"
+ }
+ },
+ "description": "Show the event feed of all mutations done on all the Azure Cosmos DB MongoDB databases under the restorable account. This helps in scenario where database was accidentally deleted to get the deletion time. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/parameters/locationParameter"
+ },
+ {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/parameters/instanceIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/RestorableMongodbDatabasesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbCollections": {
+ "get": {
+ "operationId": "RestorableMongodbCollections_List",
+ "x-ms-examples": {
+ "CosmosDBRestorableMongodbCollectionList": {
+ "$ref": "./examples/CosmosDBRestorableMongodbCollectionList.json"
+ }
+ },
+ "description": "Show the event feed of all mutations done on all the Azure Cosmos DB MongoDB collections under a specific database. This helps in scenario where container was accidentally deleted. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/parameters/locationParameter"
+ },
+ {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/parameters/instanceIdParameter"
+ },
+ {
+ "$ref": "#/parameters/restorableMongodbDatabaseRidParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/RestorableMongodbCollectionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbResources": {
+ "get": {
+ "operationId": "RestorableMongodbResources_List",
+ "x-ms-examples": {
+ "CosmosDBRestorableMongodbResourceList": {
+ "$ref": "./examples/CosmosDBRestorableMongodbResourceList.json"
+ }
+ },
+ "description": "Return a list of database and collection combo that exist on the account at the given timestamp and location. This helps in scenarios to validate what resources exist at given timestamp and location. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/parameters/locationParameter"
+ },
+ {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/parameters/instanceIdParameter"
+ },
+ {
+ "$ref": "#/parameters/restoreLocationParameter"
+ },
+ {
+ "$ref": "#/parameters/restoreTimestampInUtcParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/RestorableMongodbResourcesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ }
+ },
+ "definitions": {
+ "RestorableSqlDatabasesListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RestorableSqlDatabaseGetResult"
+ },
+ "description": "List of SQL database events and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the SQL database events and their properties."
+ },
+ "RestorableSqlDatabaseGetResult": {
+ "description": "An Azure Cosmos DB SQL database event",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a SQL database event.",
+ "$ref": "#/definitions/RestorableSqlDatabaseProperties"
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique resource Identifier of the ARM resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the ARM resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of Azure resource."
+ }
+ }
+ },
+ "RestorableSqlDatabaseProperties": {
+ "description": "The properties of an Azure Cosmos DB SQL database event",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "type": "object",
+ "description": "The resource of an Azure Cosmos DB SQL database event",
+ "properties": {
+ "_rid": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A system generated property. A unique identifier."
+ },
+ "operationType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The operation type of this database event.",
+ "$ref": "#/definitions/OperationType"
+ },
+ "eventTimestamp": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The time when this database event happened."
+ },
+ "ownerId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the SQL database."
+ },
+ "ownerResourceId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource ID of the SQL database."
+ },
+ "database": {
+ "type": "object",
+ "description": "Cosmos DB SQL database resource object",
+ "properties": {
+ "_colls": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A system generated property that specified the addressable path of the collections resource."
+ },
+ "_users": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A system generated property that specifies the addressable path of the users resource."
+ },
+ "_self": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A system generated property that specifies the addressable path of the database resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/definitions/SqlDatabaseResource"
+ },
+ {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "RestorableSqlContainersListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RestorableSqlContainerGetResult"
+ },
+ "description": "List of SQL container events and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the SQL container events and their properties."
+ },
+ "RestorableSqlContainerGetResult": {
+ "description": "An Azure Cosmos DB SQL container event",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a SQL container event.",
+ "$ref": "#/definitions/RestorableSqlContainerProperties"
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique resource Identifier of the ARM resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the ARM resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of Azure resource."
+ }
+ }
+ },
+ "RestorableSqlContainerProperties": {
+ "description": "The properties of an Azure Cosmos DB SQL container event",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The resource of an Azure Cosmos DB SQL container event",
+ "type": "object",
+ "properties": {
+ "_rid": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A system generated property. A unique identifier."
+ },
+ "operationType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The operation type of this container event.",
+ "$ref": "#/definitions/OperationType"
+ },
+ "eventTimestamp": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The when this container event happened."
+ },
+ "ownerId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of this SQL container."
+ },
+ "ownerResourceId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource ID of this SQL container."
+ },
+ "container": {
+ "type": "object",
+ "description": "Cosmos DB SQL container resource object",
+ "properties": {
+ "_self": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A system generated property that specifies the addressable path of the container resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/definitions/SqlContainerResource"
+ },
+ {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "RestorableSqlResourcesListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/definitions/DatabaseRestoreResource"
+ },
+ "description": "List of restorable SQL resources, including the database and collection names."
+ }
+ },
+ "description": "The List operation response, that contains the restorable SQL resources."
+ },
+ "RestorableMongodbDatabasesListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RestorableMongodbDatabaseGetResult"
+ },
+ "description": "List of MongoDB database events and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the MongoDB database events and their properties."
+ },
+ "RestorableMongodbDatabaseGetResult": {
+ "description": "An Azure Cosmos DB MongoDB database event",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a MongoDB database event.",
+ "$ref": "#/definitions/RestorableMongodbDatabaseProperties"
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique resource Identifier of the ARM resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the ARM resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of Azure resource."
+ }
+ }
+ },
+ "RestorableMongodbDatabaseProperties": {
+ "description": "The properties of an Azure Cosmos DB MongoDB database event",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The resource of an Azure Cosmos DB MongoDB database event",
+ "type": "object",
+ "properties": {
+ "_rid": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A system generated property. A unique identifier."
+ },
+ "operationType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The operation type of this database event.",
+ "$ref": "#/definitions/OperationType"
+ },
+ "eventTimestamp": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The time when this database event happened."
+ },
+ "ownerId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of this MongoDB database."
+ },
+ "ownerResourceId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource ID of this MongoDB database."
+ }
+ }
+ }
+ }
+ },
+ "RestorableMongodbCollectionsListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RestorableMongodbCollectionGetResult"
+ },
+ "description": "List of MongoDB collection events and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the MongoDB collection events and their properties."
+ },
+ "RestorableMongodbCollectionGetResult": {
+ "description": "An Azure Cosmos DB MongoDB collection event",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a MongoDB collection event.",
+ "$ref": "#/definitions/RestorableMongodbCollectionProperties"
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique resource Identifier of the ARM resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the ARM resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of Azure resource."
+ }
+ }
+ },
+ "RestorableMongodbCollectionProperties": {
+ "description": "The properties of an Azure Cosmos DB MongoDB collection event",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The resource of an Azure Cosmos DB MongoDB collection event",
+ "type": "object",
+ "properties": {
+ "_rid": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A system generated property. A unique identifier."
+ },
+ "operationType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The operation type of this collection event.",
+ "$ref": "#/definitions/OperationType"
+ },
+ "eventTimestamp": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The time when this collection event happened."
+ },
+ "ownerId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of this MongoDB collection."
+ },
+ "ownerResourceId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource ID of this MongoDB collection."
+ }
+ }
+ }
+ }
+ },
+ "RestorableMongodbResourcesListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "../../preview/2021-04-01-preview/cosmos-db.json#/definitions/DatabaseRestoreResource"
+ },
+ "description": "List of restorable MongoDB resources, including the database and collection names."
+ }
+ },
+ "description": "The List operation response, that contains the restorable MongoDB resources."
+ },
+ "OperationType": {
+ "description": "Enum to indicate the operation type of the event.",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "Create",
+ "Replace",
+ "Delete",
+ "SystemOperation"
+ ],
+ "x-ms-enum": {
+ "name": "OperationType",
+ "modelAsString": true
+ }
+ }
+ },
+ "parameters": {
+ "restorableSqlDatabaseRidParameter": {
+ "name": "restorableSqlDatabaseRid",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The resource ID of the SQL database."
+ },
+ "restorableMongodbDatabaseRidParameter": {
+ "name": "restorableMongodbDatabaseRid",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The resource ID of the MongoDB database."
+ },
+ "restoreLocationParameter": {
+ "name": "restoreLocation",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The location where the restorable resources are located."
+ },
+ "restoreTimestampInUtcParameter": {
+ "name": "restoreTimestampInUtc",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The timestamp when the restorable resources existed."
+ },
+ "restoreStartTime": {
+ "name": "startTime",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The snapshot create timestamp after which snapshots need to be listed."
+ },
+ "restoreEndTime": {
+ "name": "endTime",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The snapshot create timestamp before which snapshots need to be listed."
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/services.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/services.json
new file mode 100644
index 000000000000..60d1e837c25c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-04-01-preview/services.json
@@ -0,0 +1,478 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "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.DocumentDB/databaseAccounts/{accountName}/services": {
+ "get": {
+ "x-ms-examples": {
+ "CosmosDBServicesList": {
+ "$ref": "./examples/CosmosDBServicesList.json"
+ }
+ },
+ "operationId": "Service_List",
+ "description": "Gets the status of service.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The ServiceResource.",
+ "schema": {
+ "$ref": "#/definitions/ServiceResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": ".../../cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}": {
+ "put": {
+ "tags": [
+ "DataTransfer",
+ "SqlDedicatedGateway"
+ ],
+ "x-ms-examples": {
+ "DataTransferServiceCreate": {
+ "$ref": "./examples/CosmosDBDataTransferServiceCreate.json"
+ },
+ "SqlDedicatedGatewayServiceCreate": {
+ "$ref": "./examples/CosmosDBSqlDedicatedGatewayServiceCreate.json"
+ }
+ },
+ "operationId": "Service_Create",
+ "description": "Creates a service.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/serviceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServiceResource"
+ },
+ "description": "The Service resource parameters."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The service status.",
+ "schema": {
+ "$ref": "#/definitions/ServiceResource"
+ }
+ },
+ "202": {
+ "description": "The job will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": ".../../cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "DataTransfer",
+ "SqlDedicatedGateway"
+ ],
+ "x-ms-examples": {
+ "DataTransferServiceGet": {
+ "$ref": "./examples/CosmosDBDataTransferServiceGet.json"
+ },
+ "SqlDedicatedGatewayServiceGet": {
+ "$ref": "./examples/CosmosDBSqlDedicatedGatewayServiceGet.json"
+ }
+ },
+ "operationId": "Service_Get",
+ "description": "Gets the status of service.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/serviceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The ServiceResource.",
+ "schema": {
+ "$ref": "#/definitions/ServiceResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": ".../../cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DataTransfer",
+ "SqlDedicatedGateway"
+ ],
+ "x-ms-examples": {
+ "DataTransferServiceDelete": {
+ "$ref": "./examples/CosmosDBDataTransferServiceDelete.json"
+ },
+ "SqlDedicatedGatewayServiceDelete": {
+ "$ref": "./examples/CosmosDBSqlDedicatedGatewayServiceDelete.json"
+ }
+ },
+ "operationId": "Service_Delete",
+ "description": "Deletes service with the given serviceName.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/serviceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The job will complete asynchronously."
+ },
+ "204": {
+ "description": "The response for service deletion."
+ },
+ "200": {
+ "description": "The response for service deletion."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": ".../../cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ServiceResourceProperties": {
+ "description": "Services response resource.",
+ "type": "object",
+ "discriminator": "serviceType",
+ "properties": {
+ "creationTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "Time of the last state change (ISO-8601 format)."
+ },
+ "instanceSize": {
+ "$ref": "#/definitions/ServiceResourceInstanceSize"
+ },
+ "instanceCount": {
+ "description": "Instance count for the service.",
+ "type": "integer",
+ "minimum": 0,
+ "format": "int32"
+ },
+ "serviceType": {
+ "$ref": "#/definitions/ServiceType"
+ },
+ "status": {
+ "readOnly": true,
+ "$ref": "#/definitions/ServiceResourceStatus"
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ },
+ "required": [
+ "serviceType"
+ ]
+ },
+ "ServiceResource": {
+ "description": "Properties for the database account.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": ".../../cosmos-db.json#/definitions/ARMProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": false,
+ "$ref": "#/definitions/ServiceResourceProperties"
+ }
+ }
+ },
+ "ServiceResourceListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceResource"
+ },
+ "description": "List of Service Resource and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the Service Resource and their properties."
+ },
+ "DataTransferServiceResource": {
+ "description": "Describes the service response property.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": false,
+ "$ref": "#/definitions/DataTransferServiceResourceProperties"
+ }
+ }
+ },
+ "DataTransferServiceResourceProperties": {
+ "description": "Properties for DataTransferServiceResource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceResourceProperties"
+ }
+ ],
+ "properties": {
+ "locations": {
+ "type": "array",
+ "readOnly": true,
+ "description": "An array that contains all of the locations for the service.",
+ "items": {
+ "$ref": "#/definitions/DataTransferRegionalServiceResource"
+ }
+ }
+ }
+ },
+ "SqlDedicatedGatewayServiceResource": {
+ "description": "Describes the service response property for SqlDedicatedGateway.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": false,
+ "$ref": "#/definitions/SqlDedicatedGatewayServiceResourceProperties"
+ }
+ }
+ },
+ "SqlDedicatedGatewayServiceResourceProperties": {
+ "description": "Properties for SqlDedicatedGatewayServiceResource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceResourceProperties"
+ }
+ ],
+ "properties": {
+ "sqlDedicatedGatewayEndpoint": {
+ "type": "string",
+ "description": "SqlDedicatedGateway endpoint for the service."
+ },
+ "locations": {
+ "type": "array",
+ "readOnly": true,
+ "description": "An array that contains all of the locations for the service.",
+ "items": {
+ "$ref": "#/definitions/SqlDedicatedGatewayRegionalServiceResource"
+ }
+ }
+ }
+ },
+ "RegionalServiceResource": {
+ "description": "Resource for a regional service location.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The regional service name."
+ },
+ "location": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The location name."
+ },
+ "status": {
+ "readOnly": true,
+ "$ref": "#/definitions/ServiceResourceStatus"
+ }
+ }
+ },
+ "SqlDedicatedGatewayRegionalServiceResource": {
+ "description": "Resource for a regional service location.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RegionalServiceResource"
+ }
+ ],
+ "properties": {
+ "sqlDedicatedGatewayEndpoint": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The regional endpoint for SqlDedicatedGateway."
+ }
+ }
+ },
+ "DataTransferRegionalServiceResource": {
+ "description": "Resource for a regional service location.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RegionalServiceResource"
+ }
+ ]
+ },
+ "ServiceResourceStatus": {
+ "type": "string",
+ "enum": [
+ "Creating",
+ "Running",
+ "Updating",
+ "Deleting",
+ "Error",
+ "Stopped"
+ ],
+ "readOnly": true,
+ "description": "Describes the status of a service.",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ServiceStatus"
+ }
+ },
+ "ServiceResourceInstanceSize": {
+ "type": "string",
+ "enum": [
+ "Cosmos.D4s",
+ "Cosmos.D8s",
+ "Cosmos.D16s"
+ ],
+ "description": "Instance type for the service.",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ServiceSize"
+ }
+ },
+ "ServiceType": {
+ "type": "string",
+ "enum": [
+ "SqlDedicatedGateway",
+ "DataTransfer"
+ ],
+ "description": "ServiceType for the service.",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ServiceType"
+ }
+ }
+ },
+ "parameters": {
+ "accountNameParameter": {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB database account name.",
+ "minLength": 3,
+ "maxLength": 50,
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*"
+ },
+ "serviceNameParameter": {
+ "name": "serviceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB service name.",
+ "minLength": 3,
+ "maxLength": 50
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-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/Microsoft.DocumentDB/stable/2021-04-15/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/cosmos-db.json
new file mode 100644
index 000000000000..f07dc52f504a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/cosmos-db.json
@@ -0,0 +1,8587 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "version": "2021-04-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/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "SqlResources_MigrateSqlDatabaseToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB SQL database from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL database migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL database migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers": {
+ "get": {
+ "operationId": "SqlResources_ListSqlContainers",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerList": {
+ "$ref": "./examples/CosmosDBSqlContainerList.json"
+ }
+ },
+ "description": "Lists the SQL container under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL container properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlContainerListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlContainer",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerGet": {
+ "$ref": "./examples/CosmosDBSqlContainerGet.json"
+ }
+ },
+ "description": "Gets the SQL container under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL container property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlContainerGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlContainer",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlContainerCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB SQL container",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlContainerParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlContainerCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current SQL container."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL container create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL container create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlContainerGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlContainer",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerDelete": {
+ "$ref": "./examples/CosmosDBSqlContainerDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB SQL container.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL container delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The SQL container delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default": {
+ "get": {
+ "operationId": "SqlResources_GetSqlContainerThroughput",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerThroughputGet": {
+ "$ref": "./examples/CosmosDBSqlContainerThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the SQL container under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the SQL container was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_UpdateSqlContainerThroughput",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerThroughputUpdate": {
+ "$ref": "./examples/CosmosDBSqlContainerThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB SQL container",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The parameters to provide for the RUs per second of the current SQL container."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the SQL container update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the SQL container update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "SqlResources_MigrateSqlContainerToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBSqlContainerMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB SQL container from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL container migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL container migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "SqlResources_MigrateSqlContainerToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBSqlContainerMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB SQL container from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL container migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL container migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures": {
+ "get": {
+ "operationId": "SqlResources_ListSqlStoredProcedures",
+ "x-ms-examples": {
+ "CosmosDBSqlStoredProcedureList": {
+ "$ref": "./examples/CosmosDBSqlStoredProcedureList.json"
+ }
+ },
+ "description": "Lists the SQL storedProcedure under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL stored procedure properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlStoredProcedureListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlStoredProcedure",
+ "x-ms-examples": {
+ "CosmosDBSqlStoredProcedureGet": {
+ "$ref": "./examples/CosmosDBSqlStoredProcedureGet.json"
+ }
+ },
+ "description": "Gets the SQL storedProcedure under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/storedProcedureNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL storedProcedure property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlStoredProcedureGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlStoredProcedure",
+ "x-ms-examples": {
+ "CosmosDBSqlStoredProcedureCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlStoredProcedureCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB SQL storedProcedure",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/storedProcedureNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlStoredProcedureParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlStoredProcedureCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current SQL storedProcedure."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL storedProcedure create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL storedProcedure create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlStoredProcedureGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlStoredProcedure",
+ "x-ms-examples": {
+ "CosmosDBSqlStoredProcedureDelete": {
+ "$ref": "./examples/CosmosDBSqlStoredProcedureDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB SQL storedProcedure.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/storedProcedureNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL storedProcedure delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The SQL storedProcedure delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions": {
+ "get": {
+ "operationId": "SqlResources_ListSqlUserDefinedFunctions",
+ "x-ms-examples": {
+ "CosmosDBSqlUserDefinedFunctionList": {
+ "$ref": "./examples/CosmosDBSqlUserDefinedFunctionList.json"
+ }
+ },
+ "description": "Lists the SQL userDefinedFunction under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL userDefinedFunction properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlUserDefinedFunctionListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlUserDefinedFunction",
+ "x-ms-examples": {
+ "CosmosDBSqlUserDefinedFunctionGet": {
+ "$ref": "./examples/CosmosDBSqlUserDefinedFunctionGet.json"
+ }
+ },
+ "description": "Gets the SQL userDefinedFunction under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/userDefinedFunctionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL userDefinedFunction property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlUserDefinedFunctionGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlUserDefinedFunction",
+ "x-ms-examples": {
+ "CosmosDBSqlUserDefinedFunctionCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB SQL userDefinedFunction",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/userDefinedFunctionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlUserDefinedFunctionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlUserDefinedFunctionCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current SQL userDefinedFunction."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL userDefinedFunction create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL userDefinedFunction create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlUserDefinedFunctionGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlUserDefinedFunction",
+ "x-ms-examples": {
+ "CosmosDBSqlUserDefinedFunctionDelete": {
+ "$ref": "./examples/CosmosDBSqlUserDefinedFunctionDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB SQL userDefinedFunction.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/userDefinedFunctionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL userDefinedFunction delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The SQL userDefinedFunction delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers": {
+ "get": {
+ "operationId": "SqlResources_ListSqlTriggers",
+ "x-ms-examples": {
+ "CosmosDBSqlTriggerList": {
+ "$ref": "./examples/CosmosDBSqlTriggerList.json"
+ }
+ },
+ "description": "Lists the SQL trigger under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL trigger properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlTriggerListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlTrigger",
+ "x-ms-examples": {
+ "CosmosDBSqlTriggerGet": {
+ "$ref": "./examples/CosmosDBSqlTriggerGet.json"
+ }
+ },
+ "description": "Gets the SQL trigger under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/triggerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL trigger property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlTriggerGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlTrigger",
+ "x-ms-examples": {
+ "CosmosDBSqlTriggerCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlTriggerCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB SQL trigger",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/triggerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlTriggerParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlTriggerCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current SQL trigger."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL trigger create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL trigger create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlTriggerGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlTrigger",
+ "x-ms-examples": {
+ "CosmosDBSqlTriggerDelete": {
+ "$ref": "./examples/CosmosDBSqlTriggerDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB SQL trigger.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/triggerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL trigger delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The SQL trigger delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases": {
+ "get": {
+ "operationId": "MongoDBResources_ListMongoDBDatabases",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseList": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseList.json"
+ }
+ },
+ "description": "Lists the MongoDB databases under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The MongoDB database properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBDatabaseListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}": {
+ "get": {
+ "operationId": "MongoDBResources_GetMongoDBDatabase",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseGet": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseGet.json"
+ }
+ },
+ "description": "Gets the MongoDB databases under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The MongoDB database property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "MongoDBResources_CreateUpdateMongoDBDatabase",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseCreateUpdate": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseCreateUpdate.json"
+ }
+ },
+ "description": "Create or updates Azure Cosmos DB MongoDB database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateMongoDBDatabaseParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MongoDBDatabaseCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current MongoDB database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB database create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB database create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "MongoDBResources_DeleteMongoDBDatabase",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseDelete": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB MongoDB database.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB database delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The MongoDB database delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default": {
+ "get": {
+ "operationId": "MongoDBResources_GetMongoDBDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseThroughputGet": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the MongoDB database under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the MongoDB database was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "MongoDBResources_UpdateMongoDBDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseThroughputUpdate": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of the an Azure Cosmos DB MongoDB database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current MongoDB database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the MongoDB database update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the MongoDB database update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "MongoDBResources_MigrateMongoDBDatabaseToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB MongoDB database from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB database migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB database migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "MongoDBResources_MigrateMongoDBDatabaseToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB MongoDB database from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB database migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB database migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections": {
+ "get": {
+ "operationId": "MongoDBResources_ListMongoDBCollections",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionList": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionList.json"
+ }
+ },
+ "description": "Lists the MongoDB collection under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The MongoDB collection properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBCollectionListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}": {
+ "get": {
+ "operationId": "MongoDBResources_GetMongoDBCollection",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionGet": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionGet.json"
+ }
+ },
+ "description": "Gets the MongoDB collection under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The MongoDB collection property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBCollectionGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "MongoDBResources_CreateUpdateMongoDBCollection",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionCreateUpdate": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB MongoDB Collection",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateMongoDBCollectionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MongoDBCollectionCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current MongoDB Collection."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB Collection create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB Collection create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBCollectionGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "MongoDBResources_DeleteMongoDBCollection",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionDelete": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB MongoDB Collection.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB collection delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The MongoDB collection delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default": {
+ "get": {
+ "operationId": "MongoDBResources_GetMongoDBCollectionThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionThroughputGet": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the MongoDB collection under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the MongoDB collection was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "MongoDBResources_UpdateMongoDBCollectionThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionThroughputUpdate": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionThroughputUpdate.json"
+ }
+ },
+ "description": "Update the RUs per second of an Azure Cosmos DB MongoDB collection",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current MongoDB collection."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the MongoDB collection update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the MongoDB collection update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "MongoDBResources_MigrateMongoDBCollectionToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB MongoDB collection from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB collection migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB collection migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "MongoDBResources_MigrateMongoDBCollectionToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB MongoDB collection from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB collection migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB collection migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables": {
+ "get": {
+ "operationId": "TableResources_ListTables",
+ "x-ms-examples": {
+ "CosmosDBTableList": {
+ "$ref": "./examples/CosmosDBTableList.json"
+ }
+ },
+ "description": "Lists the Tables under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Table properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/TableListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}": {
+ "get": {
+ "operationId": "TableResources_GetTable",
+ "x-ms-examples": {
+ "CosmosDBTableGet": {
+ "$ref": "./examples/CosmosDBTableGet.json"
+ }
+ },
+ "description": "Gets the Tables under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Table property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/TableGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "TableResources_CreateUpdateTable",
+ "x-ms-examples": {
+ "CosmosDBTableReplace": {
+ "$ref": "./examples/CosmosDBTableCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Table",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateTableParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TableCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Table."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Table create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Table create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/TableGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "TableResources_DeleteTable",
+ "x-ms-examples": {
+ "CosmosDBTableDelete": {
+ "$ref": "./examples/CosmosDBTableDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Table.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Table delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Table delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default": {
+ "get": {
+ "operationId": "TableResources_GetTableThroughput",
+ "x-ms-examples": {
+ "CosmosDBTableThroughputGet": {
+ "$ref": "./examples/CosmosDBTableThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the Table under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Table was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "TableResources_UpdateTableThroughput",
+ "x-ms-examples": {
+ "CosmosDBTableThroughputUpdate": {
+ "$ref": "./examples/CosmosDBTableThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Table",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The parameters to provide for the RUs per second of the current Table."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Table update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Table update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "TableResources_MigrateTableToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBTableMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBTableMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Table from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Table migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Table migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "TableResources_MigrateTableToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBTableMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBTableMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Table from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Table migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Table migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces": {
+ "get": {
+ "operationId": "CassandraResources_ListCassandraKeyspaces",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceList": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceList.json"
+ }
+ },
+ "description": "Lists the Cassandra keyspaces under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cassandra keyspace properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraKeyspaceListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}": {
+ "get": {
+ "operationId": "CassandraResources_GetCassandraKeyspace",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceGet": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceGet.json"
+ }
+ },
+ "description": "Gets the Cassandra keyspaces under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cassandra keyspace property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraKeyspaceGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "CassandraResources_CreateUpdateCassandraKeyspace",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceCreateUpdate": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Cassandra keyspace",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateCassandraKeyspaceParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CassandraKeyspaceCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Cassandra keyspace."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra keyspace create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra keyspace create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraKeyspaceGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "CassandraResources_DeleteCassandraKeyspace",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceDelete": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Cassandra keyspace.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra keyspace delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Cassandra keyspace delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default": {
+ "get": {
+ "operationId": "CassandraResources_GetCassandraKeyspaceThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceThroughputGet": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the Cassandra Keyspace under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Cassandra Keyspace was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "CassandraResources_UpdateCassandraKeyspaceThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceThroughputUpdate": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Cassandra Keyspace",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current Cassandra Keyspace."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Cassandra Keyspace update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Cassandra Keyspace update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "CassandraResources_MigrateCassandraKeyspaceToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Cassandra Keyspace from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra Keyspace migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra Keyspace migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "CassandraResources_MigrateCassandraKeyspaceToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Cassandra Keyspace from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra Keyspace migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra Keyspace migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables": {
+ "get": {
+ "operationId": "CassandraResources_ListCassandraTables",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableList": {
+ "$ref": "./examples/CosmosDBCassandraTableList.json"
+ }
+ },
+ "description": "Lists the Cassandra table under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cassandra table properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraTableListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}": {
+ "get": {
+ "operationId": "CassandraResources_GetCassandraTable",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableGet": {
+ "$ref": "./examples/CosmosDBCassandraTableGet.json"
+ }
+ },
+ "description": "Gets the Cassandra table under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cassandra table property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraTableGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "CassandraResources_CreateUpdateCassandraTable",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableCreateUpdate": {
+ "$ref": "./examples/CosmosDBCassandraTableCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Cassandra Table",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateCassandraTableParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CassandraTableCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Cassandra Table."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra Table create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra Table create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraTableGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "CassandraResources_DeleteCassandraTable",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableDelete": {
+ "$ref": "./examples/CosmosDBCassandraTableDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Cassandra table.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra table delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Cassandra table delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default": {
+ "get": {
+ "operationId": "CassandraResources_GetCassandraTableThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableThroughputGet": {
+ "$ref": "./examples/CosmosDBCassandraTableThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the Cassandra table under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Cassandra table was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "CassandraResources_UpdateCassandraTableThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableThroughputUpdate": {
+ "$ref": "./examples/CosmosDBCassandraTableThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Cassandra table",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current Cassandra table."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Cassandra table update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Cassandra table update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "CassandraResources_MigrateCassandraTableToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBCassandraTableMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Cassandra table from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra table migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra table migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "CassandraResources_MigrateCassandraTableToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBCassandraTableMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Cassandra table from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra table migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra table migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases": {
+ "get": {
+ "operationId": "GremlinResources_ListGremlinDatabases",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseList": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseList.json"
+ }
+ },
+ "description": "Lists the Gremlin databases under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Gremlin database properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinDatabaseListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}": {
+ "get": {
+ "operationId": "GremlinResources_GetGremlinDatabase",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseGet": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseGet.json"
+ }
+ },
+ "description": "Gets the Gremlin databases under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Gremlin database property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "GremlinResources_CreateUpdateGremlinDatabase",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseCreateUpdate": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Gremlin database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateGremlinDatabaseParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GremlinDatabaseCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Gremlin database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin database create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin database create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "GremlinResources_DeleteGremlinDatabase",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseDelete": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Gremlin database.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin database delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Gremlin database delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default": {
+ "get": {
+ "operationId": "GremlinResources_GetGremlinDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseThroughputGet": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the Gremlin database under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Gremlin database was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "GremlinResources_UpdateGremlinDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseThroughputUpdate": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Gremlin database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current Gremlin database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Gremlin database update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Gremlin database update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "GremlinResources_MigrateGremlinDatabaseToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Gremlin database from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin database migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin database migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "GremlinResources_MigrateGremlinDatabaseToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Gremlin database from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin database migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin database migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs": {
+ "get": {
+ "operationId": "GremlinResources_ListGremlinGraphs",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphList": {
+ "$ref": "./examples/CosmosDBGremlinGraphList.json"
+ }
+ },
+ "description": "Lists the Gremlin graph under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Gremlin graph properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinGraphListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}": {
+ "get": {
+ "operationId": "GremlinResources_GetGremlinGraph",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphGet": {
+ "$ref": "./examples/CosmosDBGremlinGraphGet.json"
+ }
+ },
+ "description": "Gets the Gremlin graph under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Gremlin graph property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinGraphGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "GremlinResources_CreateUpdateGremlinGraph",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphCreateUpdate": {
+ "$ref": "./examples/CosmosDBGremlinGraphCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Gremlin graph",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateGremlinGraphParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GremlinGraphCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Gremlin graph."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin graph create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin graph create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinGraphGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "GremlinResources_DeleteGremlinGraph",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphDelete": {
+ "$ref": "./examples/CosmosDBGremlinGraphDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Gremlin graph.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin graph delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Gremlin graph delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default": {
+ "get": {
+ "operationId": "GremlinResources_GetGremlinGraphThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphThroughputGet": {
+ "$ref": "./examples/CosmosDBGremlinGraphThroughputGet.json"
+ }
+ },
+ "description": "Gets the Gremlin graph throughput under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Gremlin graph was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "GremlinResources_UpdateGremlinGraphThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphThroughputUpdate": {
+ "$ref": "./examples/CosmosDBGremlinGraphThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Gremlin graph",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current Gremlin graph."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Gremlin graph update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Gremlin graph update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "GremlinResources_MigrateGremlinGraphToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBGremlinGraphMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Gremlin graph from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin graph migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin graph migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "GremlinResources_MigrateGremlinGraphToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBGremlinGraphMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Gremlin graph from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin graph migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin graph migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "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."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "description": "An error response from the service.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "FailoverPolicies": {
+ "properties": {
+ "failoverPolicies": {
+ "type": "array",
+ "description": "List of failover policies.",
+ "items": {
+ "$ref": "#/definitions/FailoverPolicy"
+ }
+ }
+ },
+ "required": [
+ "failoverPolicies"
+ ],
+ "description": "The list of new failover policies for the failover priority change."
+ },
+ "FailoverPolicy": {
+ "type": "object",
+ "description": "The failover policy for a given region of a database account.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The unique identifier of the region in which the database account replicates to. Example: <accountName>-<locationName>."
+ },
+ "locationName": {
+ "type": "string",
+ "description": "The name of the region in which the database account exists."
+ },
+ "failoverPriority": {
+ "type": "integer",
+ "minimum": 0,
+ "format": "int32",
+ "description": "The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists."
+ }
+ }
+ },
+ "RegionForOnlineOffline": {
+ "properties": {
+ "region": {
+ "type": "string",
+ "description": "Cosmos DB region, with spaces between words and each word capitalized."
+ }
+ },
+ "required": [
+ "region"
+ ],
+ "description": "Cosmos DB region to online or offline."
+ },
+ "Location": {
+ "description": "A region in which the Azure Cosmos DB database account is deployed.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The unique identifier of the region within the database account. Example: <accountName>-<locationName>."
+ },
+ "locationName": {
+ "type": "string",
+ "description": "The name of the region."
+ },
+ "documentEndpoint": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The connection endpoint for the specific region. Example: https://<accountName>-<locationName>.documents.azure.com:443/"
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState"
+ },
+ "failoverPriority": {
+ "description": "The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 0
+ },
+ "isZoneRedundant": {
+ "type": "boolean",
+ "description": "Flag to indicate whether or not this region is an AvailabilityZone region"
+ }
+ }
+ },
+ "ARMResourceProperties": {
+ "type": "object",
+ "description": "The core properties of ARM resources.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique resource identifier of the ARM resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the ARM resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of Azure resource."
+ },
+ "location": {
+ "type": "string",
+ "description": "The location of the resource group to which the resource belongs."
+ },
+ "tags": {
+ "$ref": "#/definitions/Tags"
+ }
+ },
+ "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-04-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-04-15/examples/CosmosDBCassandraKeyspaceCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
new file mode 100644
index 000000000000..ee77eeb9af04
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBCassandraKeyspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraKeyspaceDelete.json
new file mode 100644
index 000000000000..774b1a4f11bb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraKeyspaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-15",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraKeyspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraKeyspaceGet.json
new file mode 100644
index 000000000000..0da068d326d4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraKeyspaceGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBCassandraKeyspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraKeyspaceList.json
new file mode 100644
index 000000000000..e1c9907cfa65
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraKeyspaceList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-15/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json
new file mode 100644
index 000000000000..b374a60aaff0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json
new file mode 100644
index 000000000000..ccc456cf0075
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBCassandraKeyspaceThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraKeyspaceThroughputGet.json
new file mode 100644
index 000000000000..41bd47b0d156
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraKeyspaceThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
new file mode 100644
index 000000000000..a4e03cbeddf9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBCassandraTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraTableCreateUpdate.json
new file mode 100644
index 000000000000..8ceb1c778631
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraTableCreateUpdate.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBCassandraTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraTableDelete.json
new file mode 100644
index 000000000000..90d374de8238
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraTableDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-15",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraTableGet.json
new file mode 100644
index 000000000000..07170f4afafc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraTableGet.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBCassandraTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraTableList.json
new file mode 100644
index 000000000000..3434ef845acf
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraTableList.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-15/examples/CosmosDBCassandraTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraTableMigrateToAutoscale.json
new file mode 100644
index 000000000000..b5c9d7b7510c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraTableMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBCassandraTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraTableMigrateToManualThroughput.json
new file mode 100644
index 000000000000..4cb53cbf772d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraTableMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBCassandraTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraTableThroughputGet.json
new file mode 100644
index 000000000000..79a29f4046b4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraTableThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBCassandraTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraTableThroughputUpdate.json
new file mode 100644
index 000000000000..11d8e5b012bd
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCassandraTableThroughputUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBCollectionGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCollectionGetMetricDefinitions.json
new file mode 100644
index 000000000000..c9830fd0c1e5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCollectionGetMetricDefinitions.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCollectionGetMetrics.json
new file mode 100644
index 000000000000..83117aed238d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCollectionGetMetrics.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBCollectionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCollectionGetUsages.json
new file mode 100644
index 000000000000..1395ce85e6ef
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCollectionGetUsages.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBCollectionPartitionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCollectionPartitionGetMetrics.json
new file mode 100644
index 000000000000..2ebe002919f8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCollectionPartitionGetMetrics.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBCollectionPartitionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCollectionPartitionGetUsages.json
new file mode 100644
index 000000000000..1e7dd4f4c1fc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCollectionPartitionGetUsages.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBCollectionPartitionRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
new file mode 100644
index 000000000000..8185af8437d4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBDatabaseAccountCheckNameExists.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountCheckNameExists.json
new file mode 100644
index 000000000000..58d955ed1fc6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountCheckNameExists.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "api-version": "2021-04-15"
+ },
+ "responses": {
+ "200": {},
+ "404": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountCreateMax.json
new file mode 100644
index 000000000000..600cac4802bc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountCreateMax.json
@@ -0,0 +1,202 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBDatabaseAccountCreateMin.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountCreateMin.json
new file mode 100644
index 000000000000..8793f89b44a4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountCreateMin.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBDatabaseAccountDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountDelete.json
new file mode 100644
index 000000000000..57efbd99c56d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-15",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
new file mode 100644
index 000000000000..a07ee8fd9ab9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "accountName": "ddb1-failover",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountGet.json
new file mode 100644
index 000000000000..a27da83aacd4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountGet.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
new file mode 100644
index 000000000000..909b49db2e5f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBDatabaseAccountGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountGetMetrics.json
new file mode 100644
index 000000000000..3e25155b3894
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountGetMetrics.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBDatabaseAccountGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountGetUsages.json
new file mode 100644
index 000000000000..c3af287e3320
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountGetUsages.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountList.json
new file mode 100644
index 000000000000..28917d4acd9c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountList.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-15/examples/CosmosDBDatabaseAccountListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountListByResourceGroup.json
new file mode 100644
index 000000000000..6749797d5d9c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountListByResourceGroup.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-15/examples/CosmosDBDatabaseAccountListConnectionStrings.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountListConnectionStrings.json
new file mode 100644
index 000000000000..03f80b4df541
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountListConnectionStrings.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-15",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
new file mode 100644
index 000000000000..f237e02cac82
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "accountName": "mongo-ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBDatabaseAccountListKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountListKeys.json
new file mode 100644
index 000000000000..be887e3e1fcf
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountListKeys.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
new file mode 100644
index 000000000000..9fb09d981029
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-15",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryReadonlyMasterKey": "primaryReadonlyMasterKey",
+ "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountOfflineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountOfflineRegion.json
new file mode 100644
index 000000000000..77c958f8bef7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountOfflineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBDatabaseAccountOnlineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountOnlineRegion.json
new file mode 100644
index 000000000000..46ec032d0a89
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountOnlineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBDatabaseAccountPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountPatch.json
new file mode 100644
index 000000000000..58fab46f9777
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountPatch.json
@@ -0,0 +1,171 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBDatabaseAccountRegenerateKey.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountRegenerateKey.json
new file mode 100644
index 000000000000..f235ddc57cd3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountRegenerateKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-15",
+ "subscriptionId": "subid",
+ "keyToRegenerate": {
+ "keyKind": "primary"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
new file mode 100644
index 000000000000..774f6dfc4cf6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBDatabaseGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseGetMetricDefinitions.json
new file mode 100644
index 000000000000..f9cabfa35f7d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseGetMetricDefinitions.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBDatabaseGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseGetMetrics.json
new file mode 100644
index 000000000000..d4f08b2217bb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBDatabaseGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseGetUsages.json
new file mode 100644
index 000000000000..0b9e1db08704
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBDatabaseGetUsages.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBGremlinDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..70cac9faa0e9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinDatabaseCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBGremlinDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinDatabaseDelete.json
new file mode 100644
index 000000000000..178bb0d4d662
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinDatabaseGet.json
new file mode 100644
index 000000000000..ced908739e75
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinDatabaseGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBGremlinDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinDatabaseList.json
new file mode 100644
index 000000000000..9d04b9f67ad3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinDatabaseList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-15/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..2bef3153f322
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..874e1dd01100
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBGremlinDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinDatabaseThroughputGet.json
new file mode 100644
index 000000000000..5c89e2567d79
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBGremlinDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..e3e0f5debc3f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBGremlinGraphCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinGraphCreateUpdate.json
new file mode 100644
index 000000000000..135d992c4b55
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinGraphCreateUpdate.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBGremlinGraphDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinGraphDelete.json
new file mode 100644
index 000000000000..fa9ec50dde56
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinGraphDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinGraphGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinGraphGet.json
new file mode 100644
index 000000000000..a7b9cfeffb20
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinGraphGet.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-15/examples/CosmosDBGremlinGraphList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinGraphList.json
new file mode 100644
index 000000000000..46668c6d53e3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinGraphList.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-15/examples/CosmosDBGremlinGraphMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinGraphMigrateToAutoscale.json
new file mode 100644
index 000000000000..f3706ad7125b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinGraphMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json
new file mode 100644
index 000000000000..789a6a4f28f5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBGremlinGraphThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinGraphThroughputGet.json
new file mode 100644
index 000000000000..80e41ac97ba1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinGraphThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBGremlinGraphThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinGraphThroughputUpdate.json
new file mode 100644
index 000000000000..706abbdbb4a3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBGremlinGraphThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBMongoDBCollectionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBCollectionCreateUpdate.json
new file mode 100644
index 000000000000..40589692be7e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBCollectionCreateUpdate.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBMongoDBCollectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBCollectionDelete.json
new file mode 100644
index 000000000000..4c945f63e3ce
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBCollectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBCollectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBCollectionGet.json
new file mode 100644
index 000000000000..bd22fbd6ef00
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBCollectionGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-15/examples/CosmosDBMongoDBCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBCollectionList.json
new file mode 100644
index 000000000000..61eb215b323b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBCollectionList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-15/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json
new file mode 100644
index 000000000000..0b52d6088821
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json
new file mode 100644
index 000000000000..ededbb88b4b9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBMongoDBCollectionThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBCollectionThroughputGet.json
new file mode 100644
index 000000000000..feb44d1dcc3f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBCollectionThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBMongoDBCollectionThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
new file mode 100644
index 000000000000..15c4241669a1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBMongoDBDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..965f62701b3b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBMongoDBDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBDatabaseDelete.json
new file mode 100644
index 000000000000..178bb0d4d662
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBDatabaseGet.json
new file mode 100644
index 000000000000..d6edcb6c5ea5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBDatabaseGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBMongoDBDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBDatabaseList.json
new file mode 100644
index 000000000000..4ae2f2132ede
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBDatabaseList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-15/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..2bef3153f322
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..874e1dd01100
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBMongoDBDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBDatabaseThroughputGet.json
new file mode 100644
index 000000000000..953125cb2c69
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..dd93b64336b8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBNotebookWorkspaceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBNotebookWorkspaceCreate.json
new file mode 100644
index 000000000000..8e21b210a18f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBNotebookWorkspaceCreate.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-15/examples/CosmosDBNotebookWorkspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBNotebookWorkspaceDelete.json
new file mode 100644
index 000000000000..69e3e8c59264
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBNotebookWorkspaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-15",
+ "subscriptionId": "subid",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBNotebookWorkspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBNotebookWorkspaceGet.json
new file mode 100644
index 000000000000..318ae51fab5c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBNotebookWorkspaceGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-15/examples/CosmosDBNotebookWorkspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBNotebookWorkspaceList.json
new file mode 100644
index 000000000000..5ccc7d815dd3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBNotebookWorkspaceList.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-15/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json
new file mode 100644
index 000000000000..7eecf054d040
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-15/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json
new file mode 100644
index 000000000000..302705062228
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBNotebookWorkspaceStart.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBNotebookWorkspaceStart.json
new file mode 100644
index 000000000000..302705062228
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBNotebookWorkspaceStart.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-04-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBOperationsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBOperationsList.json
new file mode 100644
index 000000000000..a87db4c3420d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBOperationsList.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-15/examples/CosmosDBPKeyRangeIdGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBPKeyRangeIdGetMetrics.json
new file mode 100644
index 000000000000..ade3e0d2c7fe
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBPKeyRangeIdGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
new file mode 100644
index 000000000000..6162fafe3509
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBPercentileGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBPercentileGetMetrics.json
new file mode 100644
index 000000000000..4e4f19b9b932
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBPercentileGetMetrics.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBPercentileSourceTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBPercentileSourceTargetGetMetrics.json
new file mode 100644
index 000000000000..f48436391683
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBPercentileSourceTargetGetMetrics.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBPercentileTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBPercentileTargetGetMetrics.json
new file mode 100644
index 000000000000..7be194dcd010
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBPercentileTargetGetMetrics.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBPrivateEndpointConnectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBPrivateEndpointConnectionDelete.json
new file mode 100644
index 000000000000..bb6001be5850
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBPrivateEndpointConnectionDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-04-15",
+ "privateEndpointConnectionName": "privateEndpointConnectionName"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBPrivateEndpointConnectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBPrivateEndpointConnectionGet.json
new file mode 100644
index 000000000000..aece45c0cdfc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBPrivateEndpointConnectionGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBPrivateEndpointConnectionListGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBPrivateEndpointConnectionListGet.json
new file mode 100644
index 000000000000..640d35899036
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBPrivateEndpointConnectionListGet.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBPrivateEndpointConnectionUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBPrivateEndpointConnectionUpdate.json
new file mode 100644
index 000000000000..38874d7711eb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBPrivateEndpointConnectionUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBPrivateLinkResourceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBPrivateLinkResourceGet.json
new file mode 100644
index 000000000000..da2bcb8a9c21
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBPrivateLinkResourceGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBPrivateLinkResourceListGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBPrivateLinkResourceListGet.json
new file mode 100644
index 000000000000..ffcab6221725
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBPrivateLinkResourceListGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBRegionCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBRegionCollectionGetMetrics.json
new file mode 100644
index 000000000000..63e6179c888a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBRegionCollectionGetMetrics.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBSqlContainerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlContainerCreateUpdate.json
new file mode 100644
index 000000000000..9c4a351a2e94
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlContainerCreateUpdate.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBSqlContainerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlContainerDelete.json
new file mode 100644
index 000000000000..4fde1b96891e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlContainerDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlContainerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlContainerGet.json
new file mode 100644
index 000000000000..a793e7c45da1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlContainerGet.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-15/examples/CosmosDBSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlContainerList.json
new file mode 100644
index 000000000000..e9835d097f17
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlContainerList.json
@@ -0,0 +1,192 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-15/examples/CosmosDBSqlContainerMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlContainerMigrateToAutoscale.json
new file mode 100644
index 000000000000..03486e07667e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlContainerMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBSqlContainerMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlContainerMigrateToManualThroughput.json
new file mode 100644
index 000000000000..171f820dfeb2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlContainerMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBSqlContainerThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlContainerThroughputGet.json
new file mode 100644
index 000000000000..b0c6512ccff7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlContainerThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBSqlContainerThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlContainerThroughputUpdate.json
new file mode 100644
index 000000000000..4deb0c3a4ada
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlContainerThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBSqlDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..1b212d2f791e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlDatabaseCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBSqlDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlDatabaseDelete.json
new file mode 100644
index 000000000000..178bb0d4d662
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlDatabaseGet.json
new file mode 100644
index 000000000000..7bc0f99025a2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlDatabaseGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlDatabaseList.json
new file mode 100644
index 000000000000..2908da4988f0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlDatabaseList.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-15/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..2bef3153f322
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..874e1dd01100
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBSqlDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlDatabaseThroughputGet.json
new file mode 100644
index 000000000000..c518a36dcda0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBSqlDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..b734b2b4519e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json
new file mode 100644
index 000000000000..478b98848d25
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "roleAssignmentId": "myRoleAssignmentId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-04-15",
+ "createUpdateSqlRoleAssignmentParameters": {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases",
+ "principalId": "myPrincipalId"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleAssignments/myRoleAssignmentId",
+ "name": "myRoleAssignmentId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments",
+ "properties": {
+ "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases",
+ "principalId": "myPrincipalId"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlRoleAssignmentDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlRoleAssignmentDelete.json
new file mode 100644
index 000000000000..eaba934cbdd4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlRoleAssignmentDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "roleAssignmentId": "myRoleAssignmentId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-04-15"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlRoleAssignmentGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlRoleAssignmentGet.json
new file mode 100644
index 000000000000..379d6770291d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlRoleAssignmentGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "roleAssignmentId": "myRoleAssignmentId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-04-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleAssignments/myRoleAssignmentId",
+ "name": "myRoleAssignmentId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments",
+ "properties": {
+ "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases",
+ "principalId": "myPrincipalId"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlRoleAssignmentList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlRoleAssignmentList.json
new file mode 100644
index 000000000000..ec58c7a5e7ce
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlRoleAssignmentList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-04-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleAssignments/myRoleAssignmentId",
+ "name": "myRoleAssignmentId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments",
+ "properties": {
+ "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases",
+ "principalId": "myPrincipalId"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json
new file mode 100644
index 000000000000..d30bd4d39384
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "roleDefinitionId": "myRoleDefinitionId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-04-15",
+ "createUpdateSqlRoleDefinitionParameters": {
+ "properties": {
+ "roleName": "myRoleName",
+ "type": "CustomRole",
+ "assignableScopes": [
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales",
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases"
+ ],
+ "permissions": [
+ {
+ "dataActions": [
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create",
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"
+ ],
+ "notDataActions": []
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "name": "myRoleDefinitionId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions",
+ "properties": {
+ "roleName": "myRoleName",
+ "type": "CustomRole",
+ "assignableScopes": [
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales",
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases"
+ ],
+ "permissions": [
+ {
+ "dataActions": [
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create",
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlRoleDefinitionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlRoleDefinitionDelete.json
new file mode 100644
index 000000000000..5759ca87374f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlRoleDefinitionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "roleDefinitionId": "myRoleDefinitionId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-04-15"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlRoleDefinitionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlRoleDefinitionGet.json
new file mode 100644
index 000000000000..ddb4dbc797af
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlRoleDefinitionGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "roleDefinitionId": "myRoleDefinitionId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-04-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "name": "myRoleDefinitionId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions",
+ "properties": {
+ "roleName": "myRoleName",
+ "type": "CustomRole",
+ "assignableScopes": [
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales",
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases"
+ ],
+ "permissions": [
+ {
+ "dataActions": [
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create",
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"
+ ],
+ "notDataActions": []
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlRoleDefinitionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlRoleDefinitionList.json
new file mode 100644
index 000000000000..f140be41c7ca
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlRoleDefinitionList.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-04-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "name": "myRoleDefinitionId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions",
+ "properties": {
+ "roleName": "myRoleName",
+ "type": "CustomRole",
+ "assignableScopes": [
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales",
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases"
+ ],
+ "permissions": [
+ {
+ "dataActions": [
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create",
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"
+ ],
+ "notDataActions": []
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlStoredProcedureCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlStoredProcedureCreateUpdate.json
new file mode 100644
index 000000000000..1dc679cfe787
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlStoredProcedureCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBSqlStoredProcedureDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlStoredProcedureDelete.json
new file mode 100644
index 000000000000..1045fc6ae84c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlStoredProcedureDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "storedProcedureName": "storedProcedureName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlStoredProcedureGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlStoredProcedureGet.json
new file mode 100644
index 000000000000..fcd3b795c3b7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlStoredProcedureGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-15/examples/CosmosDBSqlStoredProcedureList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlStoredProcedureList.json
new file mode 100644
index 000000000000..d4f88583dcf0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlStoredProcedureList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-15/examples/CosmosDBSqlTriggerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlTriggerCreateUpdate.json
new file mode 100644
index 000000000000..751d1bdc21eb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlTriggerCreateUpdate.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBSqlTriggerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlTriggerDelete.json
new file mode 100644
index 000000000000..ead15dbf3816
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlTriggerDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "triggerName": "triggerName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlTriggerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlTriggerGet.json
new file mode 100644
index 000000000000..5ab2c7c4b5a8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlTriggerGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-15/examples/CosmosDBSqlTriggerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlTriggerList.json
new file mode 100644
index 000000000000..d788cf989cbc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlTriggerList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-15/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json
new file mode 100644
index 000000000000..803563792fb7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBSqlUserDefinedFunctionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlUserDefinedFunctionDelete.json
new file mode 100644
index 000000000000..47908bfc8442
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlUserDefinedFunctionDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "userDefinedFunctionName": "userDefinedFunctionName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlUserDefinedFunctionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlUserDefinedFunctionGet.json
new file mode 100644
index 000000000000..c93a84e232fc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlUserDefinedFunctionGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-15/examples/CosmosDBSqlUserDefinedFunctionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlUserDefinedFunctionList.json
new file mode 100644
index 000000000000..8b415d475def
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBSqlUserDefinedFunctionList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-15/examples/CosmosDBTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBTableCreateUpdate.json
new file mode 100644
index 000000000000..a041339494cb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBTableCreateUpdate.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBTableDelete.json
new file mode 100644
index 000000000000..caed2e945793
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBTableDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-15",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBTableGet.json
new file mode 100644
index 000000000000..b2da371974a1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBTableGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBTableList.json
new file mode 100644
index 000000000000..4502940c2fe2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBTableList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-04-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-04-15/examples/CosmosDBTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBTableMigrateToAutoscale.json
new file mode 100644
index 000000000000..500b7856144e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBTableMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBTableMigrateToManualThroughput.json
new file mode 100644
index 000000000000..4132f4dc0cd2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBTableMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBTableThroughputGet.json
new file mode 100644
index 000000000000..72e4bf67c51b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBTableThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/examples/CosmosDBTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBTableThroughputUpdate.json
new file mode 100644
index 000000000000..7baff92b2808
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/examples/CosmosDBTableThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-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-04-15/notebook.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/notebook.json
new file mode 100644
index 000000000000..8bac4ba2b1c4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-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-04-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-04-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-04-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-04-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-04-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-04-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-04-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-04-15/cosmos-db.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "NotebookWorkspaceCreateUpdateParameters": {
+ "description": "Parameters to create a notebook workspace resource",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../stable/2021-04-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-04-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-04-15/privateEndpointConnection.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/privateEndpointConnection.json
new file mode 100644
index 000000000000..986a49f653d1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-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-04-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-04-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-04-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-04-15/privateLinkResources.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/privateLinkResources.json
new file mode 100644
index 000000000000..07b7f08013af
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-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-04-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-04-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/Microsoft.DocumentDB/stable/2021-04-15/rbac.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/rbac.json
new file mode 100644
index 000000000000..db07c983ca2b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-04-15/rbac.json
@@ -0,0 +1,573 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Role Based Access Control Resource Provider REST API",
+ "version": "2021-04-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}/sqlRoleDefinitions/{roleDefinitionId}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlRoleDefinition",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleDefinitionGet": {
+ "$ref": "./examples/CosmosDBSqlRoleDefinitionGet.json"
+ }
+ },
+ "description": "Retrieves the properties of an existing Azure Cosmos DB SQL Role Definition with the given Id.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/roleDefinitionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Role Definition was successfully retrieved.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleDefinitionGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlRoleDefinition",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleDefinitionCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlRoleDefinitionCreateUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Creates or updates an Azure Cosmos DB SQL Role Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/roleDefinitionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlRoleDefinitionParameters",
+ "in": "body",
+ "required": true,
+ "description": "The properties required to create or update a Role Definition.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleDefinitionCreateUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Role Definition create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleDefinitionGetResults"
+ }
+ },
+ "202": {
+ "description": "The Role Definition create or update request was accepted and will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlRoleDefinition",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleDefinitionDelete": {
+ "$ref": "./examples/CosmosDBSqlRoleDefinitionDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Deletes an existing Azure Cosmos DB SQL Role Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/roleDefinitionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Role Definition delete operation was completed successfully."
+ },
+ "202": {
+ "description": "The Role Definition delete request was accepted and will complete asynchronously."
+ },
+ "204": {
+ "description": "The requested Role Definition does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions": {
+ "get": {
+ "operationId": "SqlResources_ListSqlRoleDefinitions",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleDefinitionList": {
+ "$ref": "./examples/CosmosDBSqlRoleDefinitionList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the list of all Azure Cosmos DB SQL Role Definitions.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlRoleAssignment",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleAssignmentGet": {
+ "$ref": "./examples/CosmosDBSqlRoleAssignmentGet.json"
+ }
+ },
+ "description": "Retrieves the properties of an existing Azure Cosmos DB SQL Role Assignment with the given Id.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/roleAssignmentIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Role Assignment was successfully retrieved.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleAssignmentGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlRoleAssignment",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleAssignmentCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlRoleAssignmentCreateUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Creates or updates an Azure Cosmos DB SQL Role Assignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/roleAssignmentIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlRoleAssignmentParameters",
+ "in": "body",
+ "required": true,
+ "description": "The properties required to create or update a Role Assignment.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleAssignmentCreateUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Role Assignment create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleAssignmentGetResults"
+ }
+ },
+ "202": {
+ "description": "The Role Assignment create or update request was accepted and will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlRoleAssignment",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleAssignmentDelete": {
+ "$ref": "./examples/CosmosDBSqlRoleAssignmentDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Deletes an existing Azure Cosmos DB SQL Role Assignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/roleAssignmentIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Role Assignment delete operation was completed successfully."
+ },
+ "202": {
+ "description": "The Role Assignment delete request was accepted and will complete asynchronously."
+ },
+ "204": {
+ "description": "The requested Role Assignment does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments": {
+ "get": {
+ "operationId": "SqlResources_ListSqlRoleAssignments",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleAssignmentList": {
+ "$ref": "./examples/CosmosDBSqlRoleAssignmentList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the list of all Azure Cosmos DB SQL Role Assignments.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleAssignmentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "SqlRoleDefinitionResource": {
+ "properties": {
+ "roleName": {
+ "type": "string",
+ "description": "A user-friendly name for the Role Definition. Must be unique for the database account."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "BuiltInRole",
+ "CustomRole"
+ ],
+ "description": "Indicates whether the Role Definition was built-in or user created.",
+ "x-ms-enum": {
+ "name": "RoleDefinitionType",
+ "modelAsString": false
+ }
+ },
+ "assignableScopes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A set of fully qualified Scopes at or below which Role Assignments may be created using this Role Definition. This will allow application of this Role Definition on the entire database account or any underlying Database / Collection. Must have at least one element. Scopes higher than Database account are not enforceable as assignable Scopes. Note that resources referenced in assignable Scopes need not exist."
+ },
+ "permissions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Permission"
+ },
+ "description": "The set of operations allowed through this Role Definition."
+ }
+ },
+ "description": "Azure Cosmos DB SQL Role Definition resource object."
+ },
+ "SqlRoleDefinitionCreateUpdateParameters": {
+ "description": "Parameters to create and update an Azure Cosmos DB SQL Role Definition.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update an Azure Cosmos DB SQL Role Definition.",
+ "$ref": "#/definitions/SqlRoleDefinitionResource"
+ }
+ }
+ },
+ "SqlRoleDefinitionGetResults": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SqlRoleDefinitionResource",
+ "description": "Properties related to the Role Definition."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "cosmos-db.json#/definitions/ARMProxyResource"
+ }
+ ],
+ "description": "An Azure Cosmos DB SQL Role Definition."
+ },
+ "Permission": {
+ "type": "object",
+ "properties": {
+ "dataActions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "An array of data actions that are allowed."
+ },
+ "notDataActions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "An array of data actions that are denied."
+ }
+ },
+ "description": "The set of data plane operations permitted through this Role Definition."
+ },
+ "SqlRoleDefinitionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/SqlRoleDefinitionGetResults"
+ },
+ "description": "List of Role Definitions and their properties."
+ }
+ },
+ "description": "The relevant Role Definitions."
+ },
+ "SqlRoleAssignmentResource": {
+ "type": "object",
+ "properties": {
+ "roleDefinitionId": {
+ "type": "string",
+ "description": "The unique identifier for the associated Role Definition."
+ },
+ "scope": {
+ "type": "string",
+ "description": "The data plane resource path for which access is being granted through this Role Assignment."
+ },
+ "principalId": {
+ "type": "string",
+ "description": "The unique identifier for the associated AAD principal in the AAD graph to which access is being granted through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription."
+ }
+ },
+ "description": "Azure Cosmos DB SQL Role Assignment resource object."
+ },
+ "SqlRoleAssignmentCreateUpdateParameters": {
+ "description": "Parameters to create and update an Azure Cosmos DB SQL Role Assignment.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update an Azure Cosmos DB SQL Role Assignment.",
+ "$ref": "#/definitions/SqlRoleAssignmentResource"
+ }
+ }
+ },
+ "SqlRoleAssignmentGetResults": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SqlRoleAssignmentResource",
+ "description": "Properties related to the Role Assignment."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "cosmos-db.json#/definitions/ARMProxyResource"
+ }
+ ],
+ "description": "An Azure Cosmos DB Role Assignment"
+ },
+ "SqlRoleAssignmentListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/SqlRoleAssignmentGetResults"
+ },
+ "description": "List of Role Assignments and their properties"
+ }
+ },
+ "description": "The relevant Role Assignments."
+ }
+ },
+ "parameters": {
+ "roleDefinitionIdParameter": {
+ "name": "roleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The GUID for the Role Definition."
+ },
+ "roleAssignmentIdParameter": {
+ "name": "roleAssignmentId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The GUID for the Role Assignment."
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json
new file mode 100644
index 000000000000..041211b008a9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json
@@ -0,0 +1,8624 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "version": "2021-05-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/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "SqlResources_MigrateSqlDatabaseToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB SQL database from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL database migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL database migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers": {
+ "get": {
+ "operationId": "SqlResources_ListSqlContainers",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerList": {
+ "$ref": "./examples/CosmosDBSqlContainerList.json"
+ }
+ },
+ "description": "Lists the SQL container under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL container properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlContainerListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlContainer",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerGet": {
+ "$ref": "./examples/CosmosDBSqlContainerGet.json"
+ }
+ },
+ "description": "Gets the SQL container under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL container property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlContainerGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlContainer",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlContainerCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB SQL container",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlContainerParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlContainerCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current SQL container."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL container create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL container create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlContainerGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlContainer",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerDelete": {
+ "$ref": "./examples/CosmosDBSqlContainerDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB SQL container.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL container delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The SQL container delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default": {
+ "get": {
+ "operationId": "SqlResources_GetSqlContainerThroughput",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerThroughputGet": {
+ "$ref": "./examples/CosmosDBSqlContainerThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the SQL container under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the SQL container was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_UpdateSqlContainerThroughput",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerThroughputUpdate": {
+ "$ref": "./examples/CosmosDBSqlContainerThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB SQL container",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The parameters to provide for the RUs per second of the current SQL container."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the SQL container update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the SQL container update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "SqlResources_MigrateSqlContainerToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBSqlContainerMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB SQL container from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL container migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL container migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "SqlResources_MigrateSqlContainerToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBSqlContainerMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBSqlContainerMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB SQL container from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL container migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL container migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures": {
+ "get": {
+ "operationId": "SqlResources_ListSqlStoredProcedures",
+ "x-ms-examples": {
+ "CosmosDBSqlStoredProcedureList": {
+ "$ref": "./examples/CosmosDBSqlStoredProcedureList.json"
+ }
+ },
+ "description": "Lists the SQL storedProcedure under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL stored procedure properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlStoredProcedureListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlStoredProcedure",
+ "x-ms-examples": {
+ "CosmosDBSqlStoredProcedureGet": {
+ "$ref": "./examples/CosmosDBSqlStoredProcedureGet.json"
+ }
+ },
+ "description": "Gets the SQL storedProcedure under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/storedProcedureNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL storedProcedure property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlStoredProcedureGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlStoredProcedure",
+ "x-ms-examples": {
+ "CosmosDBSqlStoredProcedureCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlStoredProcedureCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB SQL storedProcedure",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/storedProcedureNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlStoredProcedureParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlStoredProcedureCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current SQL storedProcedure."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL storedProcedure create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL storedProcedure create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlStoredProcedureGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlStoredProcedure",
+ "x-ms-examples": {
+ "CosmosDBSqlStoredProcedureDelete": {
+ "$ref": "./examples/CosmosDBSqlStoredProcedureDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB SQL storedProcedure.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/storedProcedureNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL storedProcedure delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The SQL storedProcedure delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions": {
+ "get": {
+ "operationId": "SqlResources_ListSqlUserDefinedFunctions",
+ "x-ms-examples": {
+ "CosmosDBSqlUserDefinedFunctionList": {
+ "$ref": "./examples/CosmosDBSqlUserDefinedFunctionList.json"
+ }
+ },
+ "description": "Lists the SQL userDefinedFunction under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL userDefinedFunction properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlUserDefinedFunctionListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlUserDefinedFunction",
+ "x-ms-examples": {
+ "CosmosDBSqlUserDefinedFunctionGet": {
+ "$ref": "./examples/CosmosDBSqlUserDefinedFunctionGet.json"
+ }
+ },
+ "description": "Gets the SQL userDefinedFunction under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/userDefinedFunctionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL userDefinedFunction property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlUserDefinedFunctionGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlUserDefinedFunction",
+ "x-ms-examples": {
+ "CosmosDBSqlUserDefinedFunctionCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB SQL userDefinedFunction",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/userDefinedFunctionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlUserDefinedFunctionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlUserDefinedFunctionCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current SQL userDefinedFunction."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL userDefinedFunction create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL userDefinedFunction create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlUserDefinedFunctionGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlUserDefinedFunction",
+ "x-ms-examples": {
+ "CosmosDBSqlUserDefinedFunctionDelete": {
+ "$ref": "./examples/CosmosDBSqlUserDefinedFunctionDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB SQL userDefinedFunction.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/userDefinedFunctionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL userDefinedFunction delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The SQL userDefinedFunction delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers": {
+ "get": {
+ "operationId": "SqlResources_ListSqlTriggers",
+ "x-ms-examples": {
+ "CosmosDBSqlTriggerList": {
+ "$ref": "./examples/CosmosDBSqlTriggerList.json"
+ }
+ },
+ "description": "Lists the SQL trigger under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL trigger properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlTriggerListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlTrigger",
+ "x-ms-examples": {
+ "CosmosDBSqlTriggerGet": {
+ "$ref": "./examples/CosmosDBSqlTriggerGet.json"
+ }
+ },
+ "description": "Gets the SQL trigger under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/triggerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The SQL trigger property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlTriggerGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlTrigger",
+ "x-ms-examples": {
+ "CosmosDBSqlTriggerCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlTriggerCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB SQL trigger",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/triggerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlTriggerParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlTriggerCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current SQL trigger."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL trigger create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The SQL trigger create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlTriggerGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlTrigger",
+ "x-ms-examples": {
+ "CosmosDBSqlTriggerDelete": {
+ "$ref": "./examples/CosmosDBSqlTriggerDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB SQL trigger.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/containerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/triggerNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The SQL trigger delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The SQL trigger delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases": {
+ "get": {
+ "operationId": "MongoDBResources_ListMongoDBDatabases",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseList": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseList.json"
+ }
+ },
+ "description": "Lists the MongoDB databases under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The MongoDB database properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBDatabaseListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}": {
+ "get": {
+ "operationId": "MongoDBResources_GetMongoDBDatabase",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseGet": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseGet.json"
+ }
+ },
+ "description": "Gets the MongoDB databases under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The MongoDB database property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "MongoDBResources_CreateUpdateMongoDBDatabase",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseCreateUpdate": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseCreateUpdate.json"
+ }
+ },
+ "description": "Create or updates Azure Cosmos DB MongoDB database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateMongoDBDatabaseParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MongoDBDatabaseCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current MongoDB database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB database create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB database create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "MongoDBResources_DeleteMongoDBDatabase",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseDelete": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB MongoDB database.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB database delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The MongoDB database delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default": {
+ "get": {
+ "operationId": "MongoDBResources_GetMongoDBDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseThroughputGet": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the MongoDB database under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the MongoDB database was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "MongoDBResources_UpdateMongoDBDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseThroughputUpdate": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of the an Azure Cosmos DB MongoDB database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current MongoDB database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the MongoDB database update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the MongoDB database update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "MongoDBResources_MigrateMongoDBDatabaseToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB MongoDB database from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB database migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB database migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "MongoDBResources_MigrateMongoDBDatabaseToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBDatabaseMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB MongoDB database from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB database migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB database migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections": {
+ "get": {
+ "operationId": "MongoDBResources_ListMongoDBCollections",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionList": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionList.json"
+ }
+ },
+ "description": "Lists the MongoDB collection under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The MongoDB collection properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBCollectionListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}": {
+ "get": {
+ "operationId": "MongoDBResources_GetMongoDBCollection",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionGet": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionGet.json"
+ }
+ },
+ "description": "Gets the MongoDB collection under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The MongoDB collection property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBCollectionGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "MongoDBResources_CreateUpdateMongoDBCollection",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionCreateUpdate": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB MongoDB Collection",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateMongoDBCollectionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MongoDBCollectionCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current MongoDB Collection."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB Collection create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB Collection create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoDBCollectionGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "MongoDBResources_DeleteMongoDBCollection",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionDelete": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB MongoDB Collection.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB collection delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The MongoDB collection delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default": {
+ "get": {
+ "operationId": "MongoDBResources_GetMongoDBCollectionThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionThroughputGet": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the MongoDB collection under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the MongoDB collection was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "MongoDBResources_UpdateMongoDBCollectionThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionThroughputUpdate": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionThroughputUpdate.json"
+ }
+ },
+ "description": "Update the RUs per second of an Azure Cosmos DB MongoDB collection",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current MongoDB collection."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the MongoDB collection update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the MongoDB collection update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "MongoDBResources_MigrateMongoDBCollectionToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB MongoDB collection from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB collection migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB collection migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "MongoDBResources_MigrateMongoDBCollectionToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB MongoDB collection from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/collectionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The MongoDB collection migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The MongoDB collection migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables": {
+ "get": {
+ "operationId": "TableResources_ListTables",
+ "x-ms-examples": {
+ "CosmosDBTableList": {
+ "$ref": "./examples/CosmosDBTableList.json"
+ }
+ },
+ "description": "Lists the Tables under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Table properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/TableListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}": {
+ "get": {
+ "operationId": "TableResources_GetTable",
+ "x-ms-examples": {
+ "CosmosDBTableGet": {
+ "$ref": "./examples/CosmosDBTableGet.json"
+ }
+ },
+ "description": "Gets the Tables under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Table property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/TableGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "TableResources_CreateUpdateTable",
+ "x-ms-examples": {
+ "CosmosDBTableReplace": {
+ "$ref": "./examples/CosmosDBTableCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Table",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateTableParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TableCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Table."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Table create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Table create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/TableGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "TableResources_DeleteTable",
+ "x-ms-examples": {
+ "CosmosDBTableDelete": {
+ "$ref": "./examples/CosmosDBTableDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Table.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Table delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Table delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default": {
+ "get": {
+ "operationId": "TableResources_GetTableThroughput",
+ "x-ms-examples": {
+ "CosmosDBTableThroughputGet": {
+ "$ref": "./examples/CosmosDBTableThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the Table under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Table was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "TableResources_UpdateTableThroughput",
+ "x-ms-examples": {
+ "CosmosDBTableThroughputUpdate": {
+ "$ref": "./examples/CosmosDBTableThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Table",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The parameters to provide for the RUs per second of the current Table."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Table update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Table update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "TableResources_MigrateTableToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBTableMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBTableMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Table from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Table migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Table migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "TableResources_MigrateTableToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBTableMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBTableMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Table from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Table migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Table migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces": {
+ "get": {
+ "operationId": "CassandraResources_ListCassandraKeyspaces",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceList": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceList.json"
+ }
+ },
+ "description": "Lists the Cassandra keyspaces under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cassandra keyspace properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraKeyspaceListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}": {
+ "get": {
+ "operationId": "CassandraResources_GetCassandraKeyspace",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceGet": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceGet.json"
+ }
+ },
+ "description": "Gets the Cassandra keyspaces under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cassandra keyspace property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraKeyspaceGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "CassandraResources_CreateUpdateCassandraKeyspace",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceCreateUpdate": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Cassandra keyspace",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateCassandraKeyspaceParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CassandraKeyspaceCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Cassandra keyspace."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra keyspace create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra keyspace create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraKeyspaceGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "CassandraResources_DeleteCassandraKeyspace",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceDelete": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Cassandra keyspace.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra keyspace delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Cassandra keyspace delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default": {
+ "get": {
+ "operationId": "CassandraResources_GetCassandraKeyspaceThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceThroughputGet": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the Cassandra Keyspace under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Cassandra Keyspace was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "CassandraResources_UpdateCassandraKeyspaceThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceThroughputUpdate": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Cassandra Keyspace",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current Cassandra Keyspace."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Cassandra Keyspace update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Cassandra Keyspace update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "CassandraResources_MigrateCassandraKeyspaceToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Cassandra Keyspace from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra Keyspace migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra Keyspace migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "CassandraResources_MigrateCassandraKeyspaceToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraKeyspaceMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Cassandra Keyspace from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra Keyspace migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra Keyspace migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables": {
+ "get": {
+ "operationId": "CassandraResources_ListCassandraTables",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableList": {
+ "$ref": "./examples/CosmosDBCassandraTableList.json"
+ }
+ },
+ "description": "Lists the Cassandra table under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cassandra table properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraTableListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}": {
+ "get": {
+ "operationId": "CassandraResources_GetCassandraTable",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableGet": {
+ "$ref": "./examples/CosmosDBCassandraTableGet.json"
+ }
+ },
+ "description": "Gets the Cassandra table under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cassandra table property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraTableGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "CassandraResources_CreateUpdateCassandraTable",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableCreateUpdate": {
+ "$ref": "./examples/CosmosDBCassandraTableCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Cassandra Table",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateCassandraTableParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CassandraTableCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Cassandra Table."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra Table create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra Table create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraTableGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "CassandraResources_DeleteCassandraTable",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableDelete": {
+ "$ref": "./examples/CosmosDBCassandraTableDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Cassandra table.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra table delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Cassandra table delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default": {
+ "get": {
+ "operationId": "CassandraResources_GetCassandraTableThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableThroughputGet": {
+ "$ref": "./examples/CosmosDBCassandraTableThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the Cassandra table under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Cassandra table was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "CassandraResources_UpdateCassandraTableThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableThroughputUpdate": {
+ "$ref": "./examples/CosmosDBCassandraTableThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Cassandra table",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current Cassandra table."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Cassandra table update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Cassandra table update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "CassandraResources_MigrateCassandraTableToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBCassandraTableMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Cassandra table from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra table migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra table migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "CassandraResources_MigrateCassandraTableToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraTableMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBCassandraTableMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Cassandra table from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/keyspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/tableNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra table migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra table migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases": {
+ "get": {
+ "operationId": "GremlinResources_ListGremlinDatabases",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseList": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseList.json"
+ }
+ },
+ "description": "Lists the Gremlin databases under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Gremlin database properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinDatabaseListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}": {
+ "get": {
+ "operationId": "GremlinResources_GetGremlinDatabase",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseGet": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseGet.json"
+ }
+ },
+ "description": "Gets the Gremlin databases under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Gremlin database property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "GremlinResources_CreateUpdateGremlinDatabase",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseCreateUpdate": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Gremlin database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateGremlinDatabaseParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GremlinDatabaseCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Gremlin database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin database create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin database create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinDatabaseGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "GremlinResources_DeleteGremlinDatabase",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseDelete": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Gremlin database.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin database delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Gremlin database delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default": {
+ "get": {
+ "operationId": "GremlinResources_GetGremlinDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseThroughputGet": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the Gremlin database under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Gremlin database was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "GremlinResources_UpdateGremlinDatabaseThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseThroughputUpdate": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Gremlin database",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current Gremlin database."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Gremlin database update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Gremlin database update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "GremlinResources_MigrateGremlinDatabaseToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Gremlin database from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin database migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin database migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "GremlinResources_MigrateGremlinDatabaseToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinDatabaseMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Gremlin database from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin database migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin database migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs": {
+ "get": {
+ "operationId": "GremlinResources_ListGremlinGraphs",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphList": {
+ "$ref": "./examples/CosmosDBGremlinGraphList.json"
+ }
+ },
+ "description": "Lists the Gremlin graph under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Gremlin graph properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinGraphListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}": {
+ "get": {
+ "operationId": "GremlinResources_GetGremlinGraph",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphGet": {
+ "$ref": "./examples/CosmosDBGremlinGraphGet.json"
+ }
+ },
+ "description": "Gets the Gremlin graph under an existing Azure Cosmos DB database account.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Gremlin graph property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinGraphGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "GremlinResources_CreateUpdateGremlinGraph",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphCreateUpdate": {
+ "$ref": "./examples/CosmosDBGremlinGraphCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Gremlin graph",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateGremlinGraphParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GremlinGraphCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Gremlin graph."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin graph create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin graph create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/GremlinGraphGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "GremlinResources_DeleteGremlinGraph",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphDelete": {
+ "$ref": "./examples/CosmosDBGremlinGraphDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Gremlin graph.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin graph delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Gremlin graph delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default": {
+ "get": {
+ "operationId": "GremlinResources_GetGremlinGraphThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphThroughputGet": {
+ "$ref": "./examples/CosmosDBGremlinGraphThroughputGet.json"
+ }
+ },
+ "description": "Gets the Gremlin graph throughput under an existing Azure Cosmos DB database account with the provided name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Gremlin graph was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "GremlinResources_UpdateGremlinGraphThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphThroughputUpdate": {
+ "$ref": "./examples/CosmosDBGremlinGraphThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Gremlin graph",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "updateThroughputParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsUpdateParameters"
+ },
+ "description": "The RUs per second of the parameters to provide for the current Gremlin graph."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Gremlin graph update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Gremlin graph update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "GremlinResources_MigrateGremlinGraphToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBGremlinGraphMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Gremlin graph from manual throughput to autoscale",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin graph migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin graph migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "GremlinResources_MigrateGremlinGraphToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBGremlinGraphMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBGremlinGraphMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Gremlin graph from autoscale to manual throughput",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/graphNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Gremlin graph migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Gremlin graph migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "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."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "description": "An error response from the service.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "FailoverPolicies": {
+ "properties": {
+ "failoverPolicies": {
+ "type": "array",
+ "description": "List of failover policies.",
+ "items": {
+ "$ref": "#/definitions/FailoverPolicy"
+ }
+ }
+ },
+ "required": [
+ "failoverPolicies"
+ ],
+ "description": "The list of new failover policies for the failover priority change."
+ },
+ "FailoverPolicy": {
+ "type": "object",
+ "description": "The failover policy for a given region of a database account.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The unique identifier of the region in which the database account replicates to. Example: <accountName>-<locationName>."
+ },
+ "locationName": {
+ "type": "string",
+ "description": "The name of the region in which the database account exists."
+ },
+ "failoverPriority": {
+ "type": "integer",
+ "minimum": 0,
+ "format": "int32",
+ "description": "The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists."
+ }
+ }
+ },
+ "RegionForOnlineOffline": {
+ "properties": {
+ "region": {
+ "type": "string",
+ "description": "Cosmos DB region, with spaces between words and each word capitalized."
+ }
+ },
+ "required": [
+ "region"
+ ],
+ "description": "Cosmos DB region to online or offline."
+ },
+ "Location": {
+ "description": "A region in which the Azure Cosmos DB database account is deployed.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The unique identifier of the region within the database account. Example: <accountName>-<locationName>."
+ },
+ "locationName": {
+ "type": "string",
+ "description": "The name of the region."
+ },
+ "documentEndpoint": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The connection endpoint for the specific region. Example: https://<accountName>-<locationName>.documents.azure.com:443/"
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState"
+ },
+ "failoverPriority": {
+ "description": "The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 0
+ },
+ "isZoneRedundant": {
+ "type": "boolean",
+ "description": "Flag to indicate whether or not this region is an AvailabilityZone region"
+ }
+ }
+ },
+ "ARMResourceProperties": {
+ "type": "object",
+ "description": "The core properties of ARM resources.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The unique resource identifier of the ARM resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the ARM resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of Azure resource."
+ },
+ "location": {
+ "type": "string",
+ "description": "The location of the resource group to which the resource belongs."
+ },
+ "tags": {
+ "$ref": "#/definitions/Tags"
+ }
+ },
+ "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-05-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"
+ },
+ "analyticalStorageConfiguration": {
+ "description": "Analytical storage specific properties.",
+ "type": "object",
+ "$ref": "#/definitions/AnalyticalStorageConfiguration"
+ },
+ "backupPolicy": {
+ "description": "The object representing the policy for taking backups on an account.",
+ "type": "object",
+ "$ref": "#/definitions/BackupPolicy"
+ },
+ "cors": {
+ "type": "array",
+ "description": "The CORS policy for the Cosmos DB database account.",
+ "items": {
+ "$ref": "#/definitions/CorsPolicy"
+ }
+ },
+ "networkAclBypass": {
+ "description": "Indicates what services are allowed to bypass firewall checks.",
+ "$ref": "#/definitions/NetworkAclBypass"
+ },
+ "networkAclBypassResourceIds": {
+ "type": "array",
+ "description": "An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DatabaseAccountCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB database accounts.",
+ "type": "object",
+ "properties": {
+ "consistencyPolicy": {
+ "description": "The consistency policy for the Cosmos DB account.",
+ "$ref": "#/definitions/ConsistencyPolicy"
+ },
+ "locations": {
+ "type": "array",
+ "description": "An array that contains the georeplication locations enabled for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/Location"
+ }
+ },
+ "databaseAccountOfferType": {
+ "description": "The offer type for the database",
+ "$ref": "#/definitions/DatabaseAccountOfferType"
+ },
+ "ipRules": {
+ "description": "List of IpRules.",
+ "$ref": "#/definitions/IPRules"
+ },
+ "isVirtualNetworkFilterEnabled": {
+ "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules.",
+ "type": "boolean"
+ },
+ "enableAutomaticFailover": {
+ "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.",
+ "type": "boolean"
+ },
+ "capabilities": {
+ "type": "array",
+ "description": "List of Cosmos DB capabilities for the account",
+ "items": {
+ "$ref": "#/definitions/Capability"
+ }
+ },
+ "virtualNetworkRules": {
+ "type": "array",
+ "description": "List of Virtual Network ACL rules configured for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkRule"
+ }
+ },
+ "enableMultipleWriteLocations": {
+ "description": "Enables the account to write in multiple locations",
+ "type": "boolean"
+ },
+ "enableCassandraConnector": {
+ "description": "Enables the cassandra connector on the Cosmos DB C* account",
+ "type": "boolean"
+ },
+ "connectorOffer": {
+ "description": "The cassandra connector offer type for the Cosmos DB database C* account.",
+ "$ref": "#/definitions/ConnectorOffer"
+ },
+ "disableKeyBasedMetadataWriteAccess": {
+ "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys",
+ "type": "boolean"
+ },
+ "keyVaultKeyUri": {
+ "description": "The URI of the key vault",
+ "type": "string"
+ },
+ "defaultIdentity": {
+ "description": "The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be \"FirstPartyIdentity\", \"SystemAssignedIdentity\" and more.",
+ "type": "string"
+ },
+ "publicNetworkAccess": {
+ "description": "Whether requests from Public Network are allowed",
+ "$ref": "#/definitions/PublicNetworkAccess"
+ },
+ "enableFreeTier": {
+ "description": "Flag to indicate whether Free Tier is enabled.",
+ "type": "boolean"
+ },
+ "apiProperties": {
+ "description": "API specific properties. Currently, supported only for MongoDB API.",
+ "type": "object",
+ "$ref": "#/definitions/ApiProperties"
+ },
+ "enableAnalyticalStorage": {
+ "description": "Flag to indicate whether to enable storage analytics.",
+ "type": "boolean"
+ },
+ "analyticalStorageConfiguration": {
+ "description": "Analytical storage specific properties.",
+ "type": "object",
+ "$ref": "#/definitions/AnalyticalStorageConfiguration"
+ },
+ "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"
+ },
+ "analyticalStorageConfiguration": {
+ "description": "Analytical storage specific properties.",
+ "type": "object",
+ "$ref": "#/definitions/AnalyticalStorageConfiguration"
+ },
+ "backupPolicy": {
+ "description": "The object representing the policy for taking backups on an account.",
+ "type": "object",
+ "$ref": "#/definitions/BackupPolicy"
+ },
+ "cors": {
+ "type": "array",
+ "description": "The CORS policy for the Cosmos DB database account.",
+ "items": {
+ "$ref": "#/definitions/CorsPolicy"
+ }
+ },
+ "networkAclBypass": {
+ "description": "Indicates what services are allowed to bypass firewall checks.",
+ "$ref": "#/definitions/NetworkAclBypass"
+ },
+ "networkAclBypassResourceIds": {
+ "type": "array",
+ "description": "An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "AnalyticalStorageConfiguration": {
+ "type": "object",
+ "description": "Analytical storage specific properties.",
+ "properties": {
+ "schemaType": {
+ "type": "string",
+ "$ref": "#/definitions/AnalyticalStorageSchemaType"
+ }
+ }
+ },
+ "AnalyticalStorageSchemaType": {
+ "type": "string",
+ "description": "Describes the types of schema for analytical storage.",
+ "enum": [
+ "WellDefined",
+ "FullFidelity"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "AnalyticalStorageSchemaType"
+ }
+ },
+ "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-05-15/examples/CosmosDBCassandraKeyspaceCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
new file mode 100644
index 000000000000..dd6d1db8f678
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBCassandraKeyspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraKeyspaceDelete.json
new file mode 100644
index 000000000000..a7b462b6696d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraKeyspaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-15",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraKeyspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraKeyspaceGet.json
new file mode 100644
index 000000000000..0475ee3fb093
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraKeyspaceGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBCassandraKeyspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraKeyspaceList.json
new file mode 100644
index 000000000000..f3b12eea456d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraKeyspaceList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-15/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json
new file mode 100644
index 000000000000..7f58c3506980
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json
new file mode 100644
index 000000000000..c17cd8b21b86
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBCassandraKeyspaceThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraKeyspaceThroughputGet.json
new file mode 100644
index 000000000000..978fdf3068aa
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraKeyspaceThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
new file mode 100644
index 000000000000..d4c5dc2b909d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBCassandraTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraTableCreateUpdate.json
new file mode 100644
index 000000000000..23f6dd1797a0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraTableCreateUpdate.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBCassandraTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraTableDelete.json
new file mode 100644
index 000000000000..dd481529baaa
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraTableDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-15",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraTableGet.json
new file mode 100644
index 000000000000..ae4664916576
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraTableGet.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBCassandraTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraTableList.json
new file mode 100644
index 000000000000..64f662628e48
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraTableList.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-15/examples/CosmosDBCassandraTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraTableMigrateToAutoscale.json
new file mode 100644
index 000000000000..7b6300e658ac
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraTableMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBCassandraTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraTableMigrateToManualThroughput.json
new file mode 100644
index 000000000000..970272879a03
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraTableMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBCassandraTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraTableThroughputGet.json
new file mode 100644
index 000000000000..178c7f29a5df
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraTableThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBCassandraTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraTableThroughputUpdate.json
new file mode 100644
index 000000000000..02734f87562c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCassandraTableThroughputUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBCollectionGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCollectionGetMetricDefinitions.json
new file mode 100644
index 000000000000..071657930bb3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCollectionGetMetricDefinitions.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCollectionGetMetrics.json
new file mode 100644
index 000000000000..f89450c3b01d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCollectionGetMetrics.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBCollectionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCollectionGetUsages.json
new file mode 100644
index 000000000000..b2a97c4d1255
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCollectionGetUsages.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBCollectionPartitionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCollectionPartitionGetMetrics.json
new file mode 100644
index 000000000000..143490fc502b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCollectionPartitionGetMetrics.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBCollectionPartitionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCollectionPartitionGetUsages.json
new file mode 100644
index 000000000000..c98d93b75b6e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCollectionPartitionGetUsages.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBCollectionPartitionRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
new file mode 100644
index 000000000000..ae685abb753f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBDatabaseAccountCheckNameExists.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountCheckNameExists.json
new file mode 100644
index 000000000000..226f50183b9d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountCheckNameExists.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "api-version": "2021-05-15"
+ },
+ "responses": {
+ "200": {},
+ "404": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountCreateMax.json
new file mode 100644
index 000000000000..85fcf040bcf8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountCreateMax.json
@@ -0,0 +1,208 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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,
+ "analyticalStorageConfiguration": {
+ "schemaType": "WellDefined"
+ },
+ "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,
+ "analyticalStorageConfiguration": {
+ "schemaType": "WellDefined"
+ },
+ "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-05-15/examples/CosmosDBDatabaseAccountCreateMin.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountCreateMin.json
new file mode 100644
index 000000000000..d2ee1142a942
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountCreateMin.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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,
+ "analyticalStorageConfiguration": null,
+ "networkAclBypass": "None",
+ "networkAclBypassResourceIds": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountDelete.json
new file mode 100644
index 000000000000..edf83919c724
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-15",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
new file mode 100644
index 000000000000..a1c838cd3d32
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "accountName": "ddb1-failover",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountGet.json
new file mode 100644
index 000000000000..bdccd3e96df8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountGet.json
@@ -0,0 +1,110 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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,
+ "analyticalStorageConfiguration": {
+ "schemaType": "WellDefined"
+ },
+ "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-05-15/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
new file mode 100644
index 000000000000..c9455b851a4d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBDatabaseAccountGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountGetMetrics.json
new file mode 100644
index 000000000000..104744bccc3f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountGetMetrics.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBDatabaseAccountGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountGetUsages.json
new file mode 100644
index 000000000000..a0ffcaa8e40b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountGetUsages.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountList.json
new file mode 100644
index 000000000000..fb51c4a3f9c2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountList.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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,
+ "analyticalStorageConfiguration": {
+ "schemaType": "WellDefined"
+ },
+ "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-05-15/examples/CosmosDBDatabaseAccountListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountListByResourceGroup.json
new file mode 100644
index 000000000000..a0dc0e09029e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountListByResourceGroup.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-15/examples/CosmosDBDatabaseAccountListConnectionStrings.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountListConnectionStrings.json
new file mode 100644
index 000000000000..b0052576d410
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountListConnectionStrings.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-15",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
new file mode 100644
index 000000000000..555ed47cf1e7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "accountName": "mongo-ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBDatabaseAccountListKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountListKeys.json
new file mode 100644
index 000000000000..bb66671928a8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountListKeys.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
new file mode 100644
index 000000000000..03a7975d5573
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-15",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryReadonlyMasterKey": "primaryReadonlyMasterKey",
+ "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountOfflineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountOfflineRegion.json
new file mode 100644
index 000000000000..15f8a8ec0f4e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountOfflineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBDatabaseAccountOnlineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountOnlineRegion.json
new file mode 100644
index 000000000000..0cf423bab9dc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountOnlineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBDatabaseAccountPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountPatch.json
new file mode 100644
index 000000000000..14676386b84f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountPatch.json
@@ -0,0 +1,177 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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,
+ "analyticalStorageConfiguration": {
+ "schemaType": "WellDefined"
+ },
+ "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,
+ "analyticalStorageConfiguration": {
+ "schemaType": "WellDefined"
+ },
+ "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-05-15/examples/CosmosDBDatabaseAccountRegenerateKey.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountRegenerateKey.json
new file mode 100644
index 000000000000..ac0f84defba8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountRegenerateKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-15",
+ "subscriptionId": "subid",
+ "keyToRegenerate": {
+ "keyKind": "primary"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
new file mode 100644
index 000000000000..0ff6d3551c97
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBDatabaseGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseGetMetricDefinitions.json
new file mode 100644
index 000000000000..a756f2a9a86e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseGetMetricDefinitions.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBDatabaseGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseGetMetrics.json
new file mode 100644
index 000000000000..7f3450c3a2c6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBDatabaseGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseGetUsages.json
new file mode 100644
index 000000000000..021e869a4167
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBDatabaseGetUsages.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBGremlinDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..627845c7a665
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinDatabaseCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBGremlinDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinDatabaseDelete.json
new file mode 100644
index 000000000000..ab5a342f48f3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinDatabaseGet.json
new file mode 100644
index 000000000000..e5726115c7f9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinDatabaseGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBGremlinDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinDatabaseList.json
new file mode 100644
index 000000000000..dccfd37a3e0e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinDatabaseList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-15/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..c71fa68fc01f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..f6758cd00b5e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBGremlinDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinDatabaseThroughputGet.json
new file mode 100644
index 000000000000..f6523b2edf60
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBGremlinDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..d82646d71ab6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBGremlinGraphCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinGraphCreateUpdate.json
new file mode 100644
index 000000000000..ac558f074806
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinGraphCreateUpdate.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBGremlinGraphDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinGraphDelete.json
new file mode 100644
index 000000000000..679cdd7b3c6f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinGraphDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinGraphGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinGraphGet.json
new file mode 100644
index 000000000000..c5beb4280e52
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinGraphGet.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-15/examples/CosmosDBGremlinGraphList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinGraphList.json
new file mode 100644
index 000000000000..0fe642589d47
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinGraphList.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-15/examples/CosmosDBGremlinGraphMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinGraphMigrateToAutoscale.json
new file mode 100644
index 000000000000..7490ed723574
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinGraphMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json
new file mode 100644
index 000000000000..ab186183accc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBGremlinGraphThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinGraphThroughputGet.json
new file mode 100644
index 000000000000..454495386972
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinGraphThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBGremlinGraphThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinGraphThroughputUpdate.json
new file mode 100644
index 000000000000..4e924858fc2f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBGremlinGraphThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBMongoDBCollectionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBCollectionCreateUpdate.json
new file mode 100644
index 000000000000..4eb88fb1b595
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBCollectionCreateUpdate.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName",
+ "createUpdateMongoDBCollectionParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "collectionName",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "_ts"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
+ },
+ {
+ "key": {
+ "keys": [
+ "_id"
+ ]
+ }
+ }
+ ],
+ "shardKey": {
+ "testKey": "Hash"
+ }
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName",
+ "name": "collectionName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "collectionName",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "_ts"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
+ },
+ {
+ "key": {
+ "keys": [
+ "_id"
+ ]
+ }
+ }
+ ],
+ "shardKey": {
+ "testKey": "Hash"
+ }
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBCollectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBCollectionDelete.json
new file mode 100644
index 000000000000..c0df1c90d8d7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBCollectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBCollectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBCollectionGet.json
new file mode 100644
index 000000000000..74194ea2a1fc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBCollectionGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-15/examples/CosmosDBMongoDBCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBCollectionList.json
new file mode 100644
index 000000000000..665e0c208bba
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBCollectionList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-15/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json
new file mode 100644
index 000000000000..1a4754502347
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json
new file mode 100644
index 000000000000..a276f5b2a78b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBMongoDBCollectionThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBCollectionThroughputGet.json
new file mode 100644
index 000000000000..e82d44de4b63
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBCollectionThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBMongoDBCollectionThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
new file mode 100644
index 000000000000..6512f7f01554
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBMongoDBDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..782cae149872
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBMongoDBDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBDatabaseDelete.json
new file mode 100644
index 000000000000..ab5a342f48f3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBDatabaseGet.json
new file mode 100644
index 000000000000..e9263d881869
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBDatabaseGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBMongoDBDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBDatabaseList.json
new file mode 100644
index 000000000000..98b35bd25d03
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBDatabaseList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-15/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..c71fa68fc01f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..f6758cd00b5e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBMongoDBDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBDatabaseThroughputGet.json
new file mode 100644
index 000000000000..ee4ffd507d92
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..bf7462896585
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBNotebookWorkspaceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBNotebookWorkspaceCreate.json
new file mode 100644
index 000000000000..3cb018d13622
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBNotebookWorkspaceCreate.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-15/examples/CosmosDBNotebookWorkspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBNotebookWorkspaceDelete.json
new file mode 100644
index 000000000000..8147ffb551bb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBNotebookWorkspaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-15",
+ "subscriptionId": "subid",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBNotebookWorkspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBNotebookWorkspaceGet.json
new file mode 100644
index 000000000000..f1f09dfb1882
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBNotebookWorkspaceGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-15/examples/CosmosDBNotebookWorkspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBNotebookWorkspaceList.json
new file mode 100644
index 000000000000..b2c44dd1aba5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBNotebookWorkspaceList.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-15/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json
new file mode 100644
index 000000000000..9704d32fa173
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-15/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json
new file mode 100644
index 000000000000..0c476b3b8abd
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-05-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBNotebookWorkspaceStart.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBNotebookWorkspaceStart.json
new file mode 100644
index 000000000000..0c476b3b8abd
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBNotebookWorkspaceStart.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-05-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBOperationsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBOperationsList.json
new file mode 100644
index 000000000000..44465f4fcf00
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBOperationsList.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-15/examples/CosmosDBPKeyRangeIdGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBPKeyRangeIdGetMetrics.json
new file mode 100644
index 000000000000..3c68f74c8cb3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBPKeyRangeIdGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
new file mode 100644
index 000000000000..3078a8fff4e5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBPercentileGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBPercentileGetMetrics.json
new file mode 100644
index 000000000000..87d62c716e9b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBPercentileGetMetrics.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBPercentileSourceTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBPercentileSourceTargetGetMetrics.json
new file mode 100644
index 000000000000..5fcdff267fb4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBPercentileSourceTargetGetMetrics.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBPercentileTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBPercentileTargetGetMetrics.json
new file mode 100644
index 000000000000..5693a7079a86
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBPercentileTargetGetMetrics.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBPrivateEndpointConnectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBPrivateEndpointConnectionDelete.json
new file mode 100644
index 000000000000..70e332ff1cf6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBPrivateEndpointConnectionDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-05-15",
+ "privateEndpointConnectionName": "privateEndpointConnectionName"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBPrivateEndpointConnectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBPrivateEndpointConnectionGet.json
new file mode 100644
index 000000000000..32e1694fc32c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBPrivateEndpointConnectionGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBPrivateEndpointConnectionListGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBPrivateEndpointConnectionListGet.json
new file mode 100644
index 000000000000..b8296743f2d0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBPrivateEndpointConnectionListGet.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBPrivateEndpointConnectionUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBPrivateEndpointConnectionUpdate.json
new file mode 100644
index 000000000000..40fe13959b7e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBPrivateEndpointConnectionUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBPrivateLinkResourceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBPrivateLinkResourceGet.json
new file mode 100644
index 000000000000..dcd1addef340
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBPrivateLinkResourceGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBPrivateLinkResourceListGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBPrivateLinkResourceListGet.json
new file mode 100644
index 000000000000..c2d2abbfab21
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBPrivateLinkResourceListGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBRegionCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBRegionCollectionGetMetrics.json
new file mode 100644
index 000000000000..e9e1bc2d5070
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBRegionCollectionGetMetrics.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBSqlContainerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlContainerCreateUpdate.json
new file mode 100644
index 000000000000..c113cd98c282
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlContainerCreateUpdate.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBSqlContainerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlContainerDelete.json
new file mode 100644
index 000000000000..1eac3e462e41
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlContainerDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlContainerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlContainerGet.json
new file mode 100644
index 000000000000..f2ddc4ce5d51
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlContainerGet.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-15/examples/CosmosDBSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlContainerList.json
new file mode 100644
index 000000000000..471e5b29b11a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlContainerList.json
@@ -0,0 +1,192 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-15/examples/CosmosDBSqlContainerMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlContainerMigrateToAutoscale.json
new file mode 100644
index 000000000000..c0e9b1851e0e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlContainerMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBSqlContainerMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlContainerMigrateToManualThroughput.json
new file mode 100644
index 000000000000..6fb9782c8915
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlContainerMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBSqlContainerThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlContainerThroughputGet.json
new file mode 100644
index 000000000000..f6b641512770
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlContainerThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBSqlContainerThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlContainerThroughputUpdate.json
new file mode 100644
index 000000000000..b842388b7263
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlContainerThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBSqlDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..187e4e313b21
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlDatabaseCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBSqlDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlDatabaseDelete.json
new file mode 100644
index 000000000000..ab5a342f48f3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlDatabaseGet.json
new file mode 100644
index 000000000000..8258bfddd382
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlDatabaseGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlDatabaseList.json
new file mode 100644
index 000000000000..84bbd098e049
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlDatabaseList.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-15/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..c71fa68fc01f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..f6758cd00b5e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBSqlDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlDatabaseThroughputGet.json
new file mode 100644
index 000000000000..3d998d320c4b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBSqlDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..4e08977e76bc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json
new file mode 100644
index 000000000000..96119b80a222
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "roleAssignmentId": "myRoleAssignmentId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-05-15",
+ "createUpdateSqlRoleAssignmentParameters": {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases",
+ "principalId": "myPrincipalId"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleAssignments/myRoleAssignmentId",
+ "name": "myRoleAssignmentId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments",
+ "properties": {
+ "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases",
+ "principalId": "myPrincipalId"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlRoleAssignmentDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlRoleAssignmentDelete.json
new file mode 100644
index 000000000000..9c6d321ac47c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlRoleAssignmentDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "roleAssignmentId": "myRoleAssignmentId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-05-15"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlRoleAssignmentGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlRoleAssignmentGet.json
new file mode 100644
index 000000000000..60fabd26545e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlRoleAssignmentGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "roleAssignmentId": "myRoleAssignmentId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-05-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleAssignments/myRoleAssignmentId",
+ "name": "myRoleAssignmentId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments",
+ "properties": {
+ "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases",
+ "principalId": "myPrincipalId"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlRoleAssignmentList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlRoleAssignmentList.json
new file mode 100644
index 000000000000..af8650653938
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlRoleAssignmentList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-05-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleAssignments/myRoleAssignmentId",
+ "name": "myRoleAssignmentId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments",
+ "properties": {
+ "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases",
+ "principalId": "myPrincipalId"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json
new file mode 100644
index 000000000000..f0619384d8d6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "roleDefinitionId": "myRoleDefinitionId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-05-15",
+ "createUpdateSqlRoleDefinitionParameters": {
+ "properties": {
+ "roleName": "myRoleName",
+ "type": "CustomRole",
+ "assignableScopes": [
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales",
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases"
+ ],
+ "permissions": [
+ {
+ "dataActions": [
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create",
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"
+ ],
+ "notDataActions": []
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "name": "myRoleDefinitionId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions",
+ "properties": {
+ "roleName": "myRoleName",
+ "type": "CustomRole",
+ "assignableScopes": [
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales",
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases"
+ ],
+ "permissions": [
+ {
+ "dataActions": [
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create",
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlRoleDefinitionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlRoleDefinitionDelete.json
new file mode 100644
index 000000000000..9c71043ac2c0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlRoleDefinitionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "roleDefinitionId": "myRoleDefinitionId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-05-15"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlRoleDefinitionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlRoleDefinitionGet.json
new file mode 100644
index 000000000000..5f6dc0ed3a43
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlRoleDefinitionGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "roleDefinitionId": "myRoleDefinitionId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-05-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "name": "myRoleDefinitionId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions",
+ "properties": {
+ "roleName": "myRoleName",
+ "type": "CustomRole",
+ "assignableScopes": [
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales",
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases"
+ ],
+ "permissions": [
+ {
+ "dataActions": [
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create",
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"
+ ],
+ "notDataActions": []
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlRoleDefinitionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlRoleDefinitionList.json
new file mode 100644
index 000000000000..0132c8bf42bc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlRoleDefinitionList.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-05-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId",
+ "name": "myRoleDefinitionId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions",
+ "properties": {
+ "roleName": "myRoleName",
+ "type": "CustomRole",
+ "assignableScopes": [
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales",
+ "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases"
+ ],
+ "permissions": [
+ {
+ "dataActions": [
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create",
+ "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"
+ ],
+ "notDataActions": []
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlStoredProcedureCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlStoredProcedureCreateUpdate.json
new file mode 100644
index 000000000000..d7f4ae5e8257
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlStoredProcedureCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBSqlStoredProcedureDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlStoredProcedureDelete.json
new file mode 100644
index 000000000000..ec4cbb3f34bb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlStoredProcedureDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "storedProcedureName": "storedProcedureName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlStoredProcedureGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlStoredProcedureGet.json
new file mode 100644
index 000000000000..31116b128f87
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlStoredProcedureGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-15/examples/CosmosDBSqlStoredProcedureList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlStoredProcedureList.json
new file mode 100644
index 000000000000..697351d22d40
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlStoredProcedureList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-15/examples/CosmosDBSqlTriggerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlTriggerCreateUpdate.json
new file mode 100644
index 000000000000..254ed0ee79e9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlTriggerCreateUpdate.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBSqlTriggerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlTriggerDelete.json
new file mode 100644
index 000000000000..90591826913f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlTriggerDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "triggerName": "triggerName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlTriggerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlTriggerGet.json
new file mode 100644
index 000000000000..9723caf8d3c3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlTriggerGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-15/examples/CosmosDBSqlTriggerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlTriggerList.json
new file mode 100644
index 000000000000..1572a026cb9c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlTriggerList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-15/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json
new file mode 100644
index 000000000000..5b4a199070b7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBSqlUserDefinedFunctionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlUserDefinedFunctionDelete.json
new file mode 100644
index 000000000000..5262d7d065df
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlUserDefinedFunctionDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "userDefinedFunctionName": "userDefinedFunctionName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlUserDefinedFunctionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlUserDefinedFunctionGet.json
new file mode 100644
index 000000000000..dc64604e52f7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlUserDefinedFunctionGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-15/examples/CosmosDBSqlUserDefinedFunctionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlUserDefinedFunctionList.json
new file mode 100644
index 000000000000..8f584dc3fd42
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBSqlUserDefinedFunctionList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-15/examples/CosmosDBTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBTableCreateUpdate.json
new file mode 100644
index 000000000000..6d6aa86530dc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBTableCreateUpdate.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBTableDelete.json
new file mode 100644
index 000000000000..4bbf61cbbc07
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBTableDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-15",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBTableGet.json
new file mode 100644
index 000000000000..54bc2145ef30
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBTableGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBTableList.json
new file mode 100644
index 000000000000..3275ad93755d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBTableList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-05-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-05-15/examples/CosmosDBTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBTableMigrateToAutoscale.json
new file mode 100644
index 000000000000..9e6f70c3fb30
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBTableMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBTableMigrateToManualThroughput.json
new file mode 100644
index 000000000000..e661a8616ffc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBTableMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBTableThroughputGet.json
new file mode 100644
index 000000000000..15c4e922fe49
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBTableThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/examples/CosmosDBTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBTableThroughputUpdate.json
new file mode 100644
index 000000000000..214d862f1705
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/examples/CosmosDBTableThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-05-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-05-15/notebook.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/notebook.json
new file mode 100644
index 000000000000..6de8d1eaf559
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-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-05-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-05-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-05-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-05-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-05-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-05-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-05-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-05-15/cosmos-db.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "NotebookWorkspaceCreateUpdateParameters": {
+ "description": "Parameters to create a notebook workspace resource",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../stable/2021-05-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-05-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-05-15/privateEndpointConnection.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/privateEndpointConnection.json
new file mode 100644
index 000000000000..277b40899bb5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-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-05-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-05-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-05-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-05-15/privateLinkResources.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/privateLinkResources.json
new file mode 100644
index 000000000000..806c9702ecbc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-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-05-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-05-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/Microsoft.DocumentDB/stable/2021-05-15/rbac.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/rbac.json
new file mode 100644
index 000000000000..b12a68ce3bab
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/rbac.json
@@ -0,0 +1,573 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Role Based Access Control Resource Provider REST API",
+ "version": "2021-05-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}/sqlRoleDefinitions/{roleDefinitionId}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlRoleDefinition",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleDefinitionGet": {
+ "$ref": "./examples/CosmosDBSqlRoleDefinitionGet.json"
+ }
+ },
+ "description": "Retrieves the properties of an existing Azure Cosmos DB SQL Role Definition with the given Id.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/roleDefinitionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Role Definition was successfully retrieved.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleDefinitionGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlRoleDefinition",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleDefinitionCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlRoleDefinitionCreateUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Creates or updates an Azure Cosmos DB SQL Role Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/roleDefinitionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlRoleDefinitionParameters",
+ "in": "body",
+ "required": true,
+ "description": "The properties required to create or update a Role Definition.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleDefinitionCreateUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Role Definition create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleDefinitionGetResults"
+ }
+ },
+ "202": {
+ "description": "The Role Definition create or update request was accepted and will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlRoleDefinition",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleDefinitionDelete": {
+ "$ref": "./examples/CosmosDBSqlRoleDefinitionDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Deletes an existing Azure Cosmos DB SQL Role Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/roleDefinitionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Role Definition delete operation was completed successfully."
+ },
+ "202": {
+ "description": "The Role Definition delete request was accepted and will complete asynchronously."
+ },
+ "204": {
+ "description": "The requested Role Definition does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions": {
+ "get": {
+ "operationId": "SqlResources_ListSqlRoleDefinitions",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleDefinitionList": {
+ "$ref": "./examples/CosmosDBSqlRoleDefinitionList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the list of all Azure Cosmos DB SQL Role Definitions.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}": {
+ "get": {
+ "operationId": "SqlResources_GetSqlRoleAssignment",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleAssignmentGet": {
+ "$ref": "./examples/CosmosDBSqlRoleAssignmentGet.json"
+ }
+ },
+ "description": "Retrieves the properties of an existing Azure Cosmos DB SQL Role Assignment with the given Id.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/roleAssignmentIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Role Assignment was successfully retrieved.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleAssignmentGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateSqlRoleAssignment",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleAssignmentCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlRoleAssignmentCreateUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Creates or updates an Azure Cosmos DB SQL Role Assignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/roleAssignmentIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateSqlRoleAssignmentParameters",
+ "in": "body",
+ "required": true,
+ "description": "The properties required to create or update a Role Assignment.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleAssignmentCreateUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Role Assignment create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleAssignmentGetResults"
+ }
+ },
+ "202": {
+ "description": "The Role Assignment create or update request was accepted and will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "SqlResources_DeleteSqlRoleAssignment",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleAssignmentDelete": {
+ "$ref": "./examples/CosmosDBSqlRoleAssignmentDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Deletes an existing Azure Cosmos DB SQL Role Assignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/roleAssignmentIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Role Assignment delete operation was completed successfully."
+ },
+ "202": {
+ "description": "The Role Assignment delete request was accepted and will complete asynchronously."
+ },
+ "204": {
+ "description": "The requested Role Assignment does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments": {
+ "get": {
+ "operationId": "SqlResources_ListSqlRoleAssignments",
+ "x-ms-examples": {
+ "CosmosDBSqlRoleAssignmentList": {
+ "$ref": "./examples/CosmosDBSqlRoleAssignmentList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the list of all Azure Cosmos DB SQL Role Assignments.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/SqlRoleAssignmentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "SqlRoleDefinitionResource": {
+ "properties": {
+ "roleName": {
+ "type": "string",
+ "description": "A user-friendly name for the Role Definition. Must be unique for the database account."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "BuiltInRole",
+ "CustomRole"
+ ],
+ "description": "Indicates whether the Role Definition was built-in or user created.",
+ "x-ms-enum": {
+ "name": "RoleDefinitionType",
+ "modelAsString": false
+ }
+ },
+ "assignableScopes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A set of fully qualified Scopes at or below which Role Assignments may be created using this Role Definition. This will allow application of this Role Definition on the entire database account or any underlying Database / Collection. Must have at least one element. Scopes higher than Database account are not enforceable as assignable Scopes. Note that resources referenced in assignable Scopes need not exist."
+ },
+ "permissions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Permission"
+ },
+ "description": "The set of operations allowed through this Role Definition."
+ }
+ },
+ "description": "Azure Cosmos DB SQL Role Definition resource object."
+ },
+ "SqlRoleDefinitionCreateUpdateParameters": {
+ "description": "Parameters to create and update an Azure Cosmos DB SQL Role Definition.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update an Azure Cosmos DB SQL Role Definition.",
+ "$ref": "#/definitions/SqlRoleDefinitionResource"
+ }
+ }
+ },
+ "SqlRoleDefinitionGetResults": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SqlRoleDefinitionResource",
+ "description": "Properties related to the Role Definition."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "cosmos-db.json#/definitions/ARMProxyResource"
+ }
+ ],
+ "description": "An Azure Cosmos DB SQL Role Definition."
+ },
+ "Permission": {
+ "type": "object",
+ "properties": {
+ "dataActions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "An array of data actions that are allowed."
+ },
+ "notDataActions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "An array of data actions that are denied."
+ }
+ },
+ "description": "The set of data plane operations permitted through this Role Definition."
+ },
+ "SqlRoleDefinitionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/SqlRoleDefinitionGetResults"
+ },
+ "description": "List of Role Definitions and their properties."
+ }
+ },
+ "description": "The relevant Role Definitions."
+ },
+ "SqlRoleAssignmentResource": {
+ "type": "object",
+ "properties": {
+ "roleDefinitionId": {
+ "type": "string",
+ "description": "The unique identifier for the associated Role Definition."
+ },
+ "scope": {
+ "type": "string",
+ "description": "The data plane resource path for which access is being granted through this Role Assignment."
+ },
+ "principalId": {
+ "type": "string",
+ "description": "The unique identifier for the associated AAD principal in the AAD graph to which access is being granted through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription."
+ }
+ },
+ "description": "Azure Cosmos DB SQL Role Assignment resource object."
+ },
+ "SqlRoleAssignmentCreateUpdateParameters": {
+ "description": "Parameters to create and update an Azure Cosmos DB SQL Role Assignment.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update an Azure Cosmos DB SQL Role Assignment.",
+ "$ref": "#/definitions/SqlRoleAssignmentResource"
+ }
+ }
+ },
+ "SqlRoleAssignmentGetResults": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SqlRoleAssignmentResource",
+ "description": "Properties related to the Role Assignment."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "cosmos-db.json#/definitions/ARMProxyResource"
+ }
+ ],
+ "description": "An Azure Cosmos DB Role Assignment"
+ },
+ "SqlRoleAssignmentListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/SqlRoleAssignmentGetResults"
+ },
+ "description": "List of Role Assignments and their properties"
+ }
+ },
+ "description": "The relevant Role Assignments."
+ }
+ },
+ "parameters": {
+ "roleDefinitionIdParameter": {
+ "name": "roleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The GUID for the Role Definition."
+ },
+ "roleAssignmentIdParameter": {
+ "name": "roleAssignmentId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The GUID for the Role Assignment."
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/readme.azureresourceschema.md b/specification/cosmos-db/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index 56ebd1bd167b..000000000000
--- a/specification/cosmos-db/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,197 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-documentdb-2021-03-01-preview
- - tag: schema-documentdb-2021-01-15
- - tag: schema-documentdb-2020-09-01
- - tag: schema-documentdb-2020-06-01-preview
- - tag: schema-documentdb-2020-04-01
- - tag: schema-documentdb-2020-03-01
- - tag: schema-documentdb-2019-12-12
- - tag: schema-documentdb-2019-08-01-preview
- - tag: schema-documentdb-2019-08-01
- - tag: schema-documentdb-2016-03-31
- - tag: schema-documentdb-2016-03-19
- - tag: schema-documentdb-2015-11-06
- - tag: schema-documentdb-2015-04-08
- - tag: schema-documentdb-2014-04-01
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-documentdb-2021-03-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-documentdb-2021-03-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DocumentDB/preview/2021-03-01-preview/cosmos-db.json
- - 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/privateLinkResources.json
- - Microsoft.DocumentDB/preview/2021-03-01-preview/privateEndpointConnection.json
-
-```
-
-### Tag: schema-documentdb-2021-01-15 and azureresourceschema
-
-``` yaml $(tag) == 'schema-documentdb-2021-01-15' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DocumentDB/stable/2021-01-15/cosmos-db.json
- - Microsoft.DocumentDB/stable/2021-01-15/notebook.json
- - Microsoft.DocumentDB/stable/2021-01-15/privateLinkResources.json
- - Microsoft.DocumentDB/stable/2021-01-15/privateEndpointConnection.json
-
-```
-
-### Tag: schema-documentdb-2020-09-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-documentdb-2020-09-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DocumentDB/stable/2020-09-01/cosmos-db.json
- - Microsoft.DocumentDB/stable/2020-09-01/notebook.json
-
-```
-
-### Tag: schema-documentdb-2020-06-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-documentdb-2020-06-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json
- - Microsoft.DocumentDB/preview/2020-06-01-preview/notebook.json
- - Microsoft.DocumentDB/preview/2020-06-01-preview/rbac.json
- - Microsoft.DocumentDB/preview/2020-06-01-preview/restorable.json
-
-```
-
-### Tag: schema-documentdb-2020-04-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-documentdb-2020-04-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DocumentDB/stable/2020-04-01/cosmos-db.json
- - Microsoft.DocumentDB/stable/2020-04-01/notebook.json
-
-```
-
-### Tag: schema-documentdb-2020-03-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-documentdb-2020-03-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DocumentDB/stable/2020-03-01/cosmos-db.json
- - Microsoft.DocumentDB/stable/2020-03-01/notebook.json
-
-```
-
-### Tag: schema-documentdb-2019-12-12 and azureresourceschema
-
-``` yaml $(tag) == 'schema-documentdb-2019-12-12' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DocumentDB/stable/2019-12-12/cosmos-db.json
- - Microsoft.DocumentDB/stable/2019-12-12/notebook.json
-
-```
-
-### Tag: schema-documentdb-2019-08-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-documentdb-2019-08-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json
- - Microsoft.DocumentDB/preview/2019-08-01-preview/privateEndpointConnection.json
-
-```
-
-### Tag: schema-documentdb-2019-08-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-documentdb-2019-08-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DocumentDB/stable/2019-08-01/cosmos-db.json
- - Microsoft.DocumentDB/stable/2019-08-01/notebook.json
-
-```
-
-### Tag: schema-documentdb-2016-03-31 and azureresourceschema
-
-``` yaml $(tag) == 'schema-documentdb-2016-03-31' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DocumentDB/stable/2016-03-31/cosmos-db.json
-
-```
-
-### Tag: schema-documentdb-2016-03-19 and azureresourceschema
-
-``` yaml $(tag) == 'schema-documentdb-2016-03-19' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DocumentDB/stable/2016-03-19/cosmos-db.json
-
-```
-
-### Tag: schema-documentdb-2015-11-06 and azureresourceschema
-
-``` yaml $(tag) == 'schema-documentdb-2015-11-06' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DocumentDB/stable/2015-11-06/cosmos-db.json
-
-```
-
-### Tag: schema-documentdb-2015-04-08 and azureresourceschema
-
-``` yaml $(tag) == 'schema-documentdb-2015-04-08' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DocumentDB/stable/2015-04-08/cosmos-db.json
-
-```
-
-### Tag: schema-documentdb-2014-04-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-documentdb-2014-04-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DocumentDB/stable/2014-04-01/cosmos-db.json
-
-```
diff --git a/specification/cosmos-db/resource-manager/readme.go.md b/specification/cosmos-db/resource-manager/readme.go.md
index 453ff4b26082..0605606a6fc6 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,10 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-05
+ - tag: package-2021-04
+ - tag: package-2021-04-preview
+ - tag: package-2021-03
- tag: package-2021-03-preview
- tag: package-2021-01
- tag: package-2020-09
@@ -25,6 +29,42 @@ batch:
- tag: package-2015-04
```
+### Tag: package-2021-05 and go
+
+These settings apply only when `--tag=package-2021-05 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-05' && $(go)
+output-folder: $(go-sdk-folder)/services/cosmos-db/mgmt/2021-05-15/$(namespace)
+```
+
+### Tag: package-2021-04 and go
+
+These settings apply only when `--tag=package-2021-04 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-04' && $(go)
+output-folder: $(go-sdk-folder)/services/cosmos-db/mgmt/2021-04-15/$(namespace)
+```
+
+### Tag: package-2021-04-preview and go
+
+These settings apply only when `--tag=package-2021-04-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-04-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/cosmos-db/mgmt/2021-04-01-preview/$(namespace)
+```
+
+### 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..e41103478056 100644
--- a/specification/cosmos-db/resource-manager/readme.java.md
+++ b/specification/cosmos-db/resource-manager/readme.java.md
@@ -17,6 +17,9 @@ service-name: CosmosDB
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2021-04
+ - tag: package-2021-04-preview
+ - tag: package-2021-03
- tag: package-2021-03-preview
- tag: package-2021-01
- tag: package-2020-09
@@ -29,6 +32,45 @@ batch:
- tag: package-2015-04
```
+### Tag: package-2021-04 and java
+
+These settings apply only when `--tag=package-2021-04 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2021-04' && $(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-04-preview and java
+
+These settings apply only when `--tag=package-2021-04-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2021-04-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.cosmosdb.v2021_04_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/cosmos/mgmt-v2021_04_01_preview
+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=`.
+
+``` 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.
@@ -36,8 +78,8 @@ Please also specify `--azure-libraries-for-java=`.
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.cosmosdb
- package-name: azure-mgmt-cosmosdb
- package-version: 0.7.0
- clear-output-folder: true
-```
-
``` yaml $(python) && $(track2)
python-mode: update
azure-arm: true
@@ -31,14 +19,8 @@ modelerfour:
``` yaml $(python) && $(python-mode) == 'update'
no-namespace-folders: true
output-folder: $(python-sdks-folder)/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb
```
``` yaml $(python) && $(python-mode) == 'create'
basic-setup-py: true
output-folder: $(python-sdks-folder)/cosmos/azure-mgmt-cosmosdb
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/cosmos/azure-mgmt-cosmosdb
```
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.exports.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.exports.json
index 17692a659dae..a26c4a8e32d9 100644
--- a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.exports.json
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.exports.json
@@ -588,6 +588,9 @@
"description": "The name of the aggregation function to use.",
"type": "string",
"enum": [
+ "Avg",
+ "Max",
+ "Min",
"Sum"
],
"x-ms-enum": {
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.json
index 5e87c4f64151..2ace1a19a41d 100644
--- a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.json
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.json
@@ -1575,6 +1575,9 @@
"description": "The name of the aggregation function to use.",
"type": "string",
"enum": [
+ "Avg",
+ "Max",
+ "Min",
"Sum"
],
"x-ms-enum": {
@@ -1730,7 +1733,7 @@
}
},
"Setting": {
- "description": "State of Setting",
+ "description": "State of the myscope setting.",
"type": "object",
"allOf": [
{
@@ -1785,9 +1788,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": {
@@ -1994,23 +2054,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
@@ -2749,6 +2809,9 @@
"description": "The name of the aggregation function to use.",
"type": "string",
"enum": [
+ "Avg",
+ "Max",
+ "Min",
"Sum"
],
"x-ms-enum": {
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/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/Microsoft.CostManagement/stable/2021-01-01/costmanagement.exports.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/costmanagement.exports.json
new file mode 100644
index 000000000000..120956eddce0
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/costmanagement.exports.json
@@ -0,0 +1,889 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-01-01",
+ "title": "CostManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/{scope}/providers/Microsoft.CostManagement/exports": {
+ "get": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_List",
+ "description": "The operation to list all exports at the given scope.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExportsGetBySubscription": {
+ "$ref": "./examples/ExportsGetBySubscription.json"
+ },
+ "ExportsGetByResourceGroup": {
+ "$ref": "./examples/ExportsGetByResourceGroup.json"
+ },
+ "ExportsGetByBillingAccount": {
+ "$ref": "./examples/ExportsGetByBillingAccount.json"
+ },
+ "ExportsGetByDepartment": {
+ "$ref": "./examples/ExportsGetByDepartment.json"
+ },
+ "ExportsGetByEnrollmentAccount": {
+ "$ref": "./examples/ExportsGetByEnrollmentAccount.json"
+ },
+ "ExportsGetByManagementGroup": {
+ "$ref": "./examples/ExportsGetByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeExportParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties within an export. Currently only 'runHistory' is supported and will return information for the last execution of each export.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ExportListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}": {
+ "get": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_Get",
+ "description": "The operation to get the export for the defined scope by export name.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExportGetBySubscription": {
+ "$ref": "./examples/ExportGetBySubscription.json"
+ },
+ "ExportGetByResourceGroup": {
+ "$ref": "./examples/ExportGetByResourceGroup.json"
+ },
+ "ExportGetByBillingAccount": {
+ "$ref": "./examples/ExportGetByBillingAccount.json"
+ },
+ "ExportGetByDepartment": {
+ "$ref": "./examples/ExportGetByDepartment.json"
+ },
+ "ExportGetByEnrollmentAccount": {
+ "$ref": "./examples/ExportGetByEnrollmentAccount.json"
+ },
+ "ExportGetByManagementGroup": {
+ "$ref": "./examples/ExportGetByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeExportParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ },
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties within an export. Currently only 'runHistory' is supported and will return information for the last 10 executions of the export.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Export"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_CreateOrUpdate",
+ "description": "The operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExportCreateOrUpdateBySubscription": {
+ "$ref": "./examples/ExportCreateOrUpdateBySubscription.json"
+ },
+ "ExportCreateOrUpdateByResourceGroup": {
+ "$ref": "./examples/ExportCreateOrUpdateByResourceGroup.json"
+ },
+ "ExportCreateOrUpdateByBillingAccount": {
+ "$ref": "./examples/ExportCreateOrUpdateByBillingAccount.json"
+ },
+ "ExportCreateOrUpdateByDepartment": {
+ "$ref": "./examples/ExportCreateOrUpdateByDepartment.json"
+ },
+ "ExportCreateOrUpdateByEnrollmentAccount": {
+ "$ref": "./examples/ExportCreateOrUpdateByEnrollmentAccount.json"
+ },
+ "ExportCreateOrUpdateByManagementGroup": {
+ "$ref": "./examples/ExportCreateOrUpdateByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeExportParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Export"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Export operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Export"
+ }
+ },
+ "201": {
+ "description": "Created.",
+ "schema": {
+ "$ref": "#/definitions/Export"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_Delete",
+ "description": "The operation to delete a export.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExportDeleteBySubscription": {
+ "$ref": "./examples/ExportDeleteBySubscription.json"
+ },
+ "ExportDeleteByResourceGroup": {
+ "$ref": "./examples/ExportDeleteByResourceGroup.json"
+ },
+ "ExportDeleteByBillingAccount": {
+ "$ref": "./examples/ExportDeleteByBillingAccount.json"
+ },
+ "ExportDeleteByEnrollmentAccount": {
+ "$ref": "./examples/ExportDeleteByEnrollmentAccount.json"
+ },
+ "ExportDeleteByDepartment": {
+ "$ref": "./examples/ExportDeleteByDepartment.json"
+ },
+ "ExportDeleteByManagementGroup": {
+ "$ref": "./examples/ExportDeleteByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeExportParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/run": {
+ "post": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_Execute",
+ "description": "The operation to execute an export.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExportRunBySubscription": {
+ "$ref": "./examples/ExportRunBySubscription.json"
+ },
+ "ExportRunByResourceGroup": {
+ "$ref": "./examples/ExportRunByResourceGroup.json"
+ },
+ "ExportRunByBillingAccount": {
+ "$ref": "./examples/ExportRunByBillingAccount.json"
+ },
+ "ExportRunByDepartment": {
+ "$ref": "./examples/ExportRunByDepartment.json"
+ },
+ "ExportRunByEnrollmentAccount": {
+ "$ref": "./examples/ExportRunByEnrollmentAccount.json"
+ },
+ "ExportRunByManagementGroup": {
+ "$ref": "./examples/ExportRunByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeExportParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/runHistory": {
+ "get": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_GetExecutionHistory",
+ "description": "The operation to get the execution history of an export for the defined scope and export name.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExportRunHistoryGetBySubscription": {
+ "$ref": "./examples/ExportRunHistoryGetBySubscription.json"
+ },
+ "ExportRunHistoryGetByResourceGroup": {
+ "$ref": "./examples/ExportRunHistoryGetByResourceGroup.json"
+ },
+ "ExportRunHistoryGetByBillingAccount": {
+ "$ref": "./examples/ExportRunHistoryGetByBillingAccount.json"
+ },
+ "ExportRunHistoryGetByDepartment": {
+ "$ref": "./examples/ExportRunHistoryGetByDepartment.json"
+ },
+ "ExportRunHistoryGetByEnrollmentAccount": {
+ "$ref": "./examples/ExportRunHistoryGetByEnrollmentAccount.json"
+ },
+ "ExportRunHistoryGetByManagementGroup": {
+ "$ref": "./examples/ExportRunHistoryGetByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeExportParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ExportExecutionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "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"
+ },
+ "partitionData": {
+ "description": "If set to true, exported data will be partitioned by size and placed in a blob directory together with a manifest file. Note: this option is currently available only for modern commerce scopes.",
+ "type": "boolean"
+ },
+ "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/stable/2021-01-01/costmanagement.generatedetailedcostreport.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/costmanagement.generatedetailedcostreport.json
new file mode 100644
index 000000000000..020f6f48b13e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/costmanagement.generatedetailedcostreport.json
@@ -0,0 +1,407 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-01-01",
+ "title": "CostManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/{scope}/providers/Microsoft.CostManagement/generateDetailedCostReport": {
+ "post": {
+ "tags": [
+ "UsageDetails"
+ ],
+ "operationId": "GenerateDetailedCostReport_CreateOperation",
+ "description": "Generates the detailed cost report for provided date range, billing period(Only enterprise customers) or Invoice Id asynchronously at a certain scope. Call returns a 202 with header Azure-Consumption-AsyncOperation providing a link to the operation created. A call on the operation will provide the status and if the operation is completed the blob file where generated detailed cost report is being stored.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "GenerateDetailedCostReportByBillingProfileAndInvoiceId": {
+ "$ref": "./examples/GenerateDetailedCostReportByBillingProfileAndInvoiceId.json"
+ },
+ "GenerateDetailedCostReportBySubscriptionAndTimePeriod": {
+ "$ref": "./examples/GenerateDetailedCostReportBySubscriptionAndTimePeriod.json"
+ },
+ "GenerateDetailedCostReportByCustomerAndTimePeriod": {
+ "$ref": "./examples/GenerateDetailedCostReportByCustomerAndTimePeriod.json"
+ },
+ "GenerateDetailedCostReportByBillingProfileAndInvoiceIdAndCustomerId": {
+ "$ref": "./examples/GenerateDetailedCostReportByBillingProfileAndInvoiceIdAndCustomerId.json"
+ },
+ "GenerateDetailedCostReportByBillingAccountLegacyAndBillingPeriod": {
+ "$ref": "./examples/GenerateDetailedCostReportByBillingAccountLegacyAndBillingPeriod.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeUsageDetailsParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GenerateDetailedCostReportDefinition"
+ },
+ "description": "Parameters supplied to the Create detailed cost report operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request processing completed.",
+ "schema": {
+ "$ref": "#/definitions/GenerateDetailedCostReportOperationResult"
+ }
+ },
+ "202": {
+ "description": "Accepted. Request will be processed. Use the Location header to check the status.",
+ "headers": {
+ "Location": {
+ "description": "The URL to check the result of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-Consumption-AsyncOperation": {
+ "description": "The URL to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.",
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/GenerateDetailedCostReportErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "GenerateDetailedCostReportOperationResults"
+ ],
+ "operationId": "GenerateDetailedCostReportOperationResults_Get",
+ "description": "Get the result of the specified operation. This link is provided in the GenerateDetailedCostReport creation request response header.",
+ "x-ms-examples": {
+ "Get details of the operation result": {
+ "$ref": "./examples/GenerateDetailedCostReportOperationResultsBySubscriptionScope.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The target operation Id."
+ },
+ {
+ "$ref": "#/parameters/scopeUsageDetailsParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/GenerateDetailedCostReportOperationResult"
+ }
+ },
+ "202": {
+ "description": "Accepted. The operation is ongoing."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/operationStatus/{operationId}": {
+ "get": {
+ "tags": [
+ "GenerateDetailedCostReportOperationStatus"
+ ],
+ "operationId": "GenerateDetailedCostReportOperationStatus_Get",
+ "description": "Get the status of the specified operation. This link is provided in the GenerateDetailedCostReport creation request response header.",
+ "x-ms-examples": {
+ "Get details of the operation status": {
+ "$ref": "./examples/GenerateDetailedCostReportOperationStatusBySubscriptionScope.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The target operation Id."
+ },
+ {
+ "$ref": "#/parameters/scopeUsageDetailsParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/GenerateDetailedCostReportOperationStatuses"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "GenerateDetailedCostReportErrorResponse": {
+ "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 * 413 Request Entity Too Large - Request is throttled. The amount of data required to fulfill the request exceeds the maximum size permitted of 2Gb. Please utilize our Exports feature instead. \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"
+ }
+ }
+ },
+ "GenerateDetailedCostReportDefinition": {
+ "description": "The definition of a cost detailed report.",
+ "properties": {
+ "metric": {
+ "description": "The type of the detailed report. By default ActualCost is provided",
+ "type": "string",
+ "enum": [
+ "ActualCost",
+ "AmortizedCost"
+ ],
+ "x-ms-enum": {
+ "name": "GenerateDetailedCostReportMetricType",
+ "modelAsString": true
+ }
+ },
+ "timePeriod": {
+ "description": "Has time period for pulling data for the cost detailed report. Can only have one of either timePeriod or invoiceId or billingPeriod parameters. If none provided current month cost is provided.",
+ "$ref": "#/definitions/GenerateDetailedCostReportTimePeriod"
+ },
+ "billingPeriod": {
+ "description": "Billing Period in YearMonth(e.g. 202008) format. Only for legacy enterprise customers can use this. Can only have one of either timePeriod or invoiceId or billingPeriod parameters. If none provided current month cost is provided.",
+ "type": "string"
+ },
+ "invoiceId": {
+ "description": "Invoice Id for PayAsYouGo customers and Modern billing profile scope. Can only have one of either timePeriod or invoiceId or billingPeriod parameters. If none provided current month cost is provided.",
+ "type": "string"
+ },
+ "customerId": {
+ "description": "Customer Id for Modern (Invoice Id and billing profile is also required for this).",
+ "type": "string"
+ }
+ }
+ },
+ "GenerateDetailedCostReportTimePeriod": {
+ "description": "The start and end date for pulling data for the cost detailed report.",
+ "properties": {
+ "start": {
+ "description": "The start date to pull data from. example format 2020-03-15",
+ "type": "string"
+ },
+ "end": {
+ "description": "The end date to pull data to. example format 2020-03-15",
+ "type": "string"
+ }
+ },
+ "required": [
+ "start",
+ "end"
+ ]
+ },
+ "GenerateDetailedCostReportOperationStatuses": {
+ "description": "The status of the long running operation for cost detailed report.",
+ "properties": {
+ "id": {
+ "description": "The id of the long running operation.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the long running operation.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status of the long running operation.",
+ "$ref": "#/definitions/Status"
+ },
+ "type": {
+ "description": "The type of the long running operation.",
+ "type": "string"
+ },
+ "error": {
+ "description": "The details of the error.",
+ "$ref": "#/definitions/ErrorDetails"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "type": "object",
+ "description": "The properties of the resource generated.",
+ "$ref": "#/definitions/DownloadURL"
+ }
+ }
+ },
+ "GenerateDetailedCostReportOperationResult": {
+ "description": "The result of the long running operation for cost detailed report.",
+ "properties": {
+ "id": {
+ "description": "The id of the long running operation.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the long running operation.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of the long running operation.",
+ "type": "string"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "type": "object",
+ "description": "The properties of the resource generated.",
+ "$ref": "#/definitions/DownloadURL"
+ }
+ }
+ },
+ "DownloadURL": {
+ "description": "The URL to download the generated report.",
+ "properties": {
+ "downloadUrl": {
+ "description": "The URL to download the generated report.",
+ "type": "string"
+ },
+ "validTill": {
+ "description": "The time at which report URL becomes invalid/expires in UTC e.g. 2020-12-08T05:55:59.4394737Z.",
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "The details of the error.",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message. \n\nSome Error responses: \n\n * 429 TooManyRequests - Request is throttled. Retry after waiting for the time specified in the \"x-ms-ratelimit-microsoft.consumption-retry-after\" header. \n\n * 503 ServiceUnavailable - Service is temporarily unavailable. Retry after waiting for the time specified in the \"Retry-After\" header.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "The details of the error.",
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "Status": {
+ "description": "The status of the long running operation.",
+ "properties": {
+ "status": {
+ "description": "The status of the long running operation.",
+ "type": "string",
+ "enum": [
+ "InProgress",
+ "Completed",
+ "Failed",
+ "Queued",
+ "NoDataFound",
+ "ReadyToDownload",
+ "TimedOut"
+ ],
+ "x-ms-enum": {
+ "name": "OperationStatusType",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request."
+ },
+ "scopeUsageDetailsParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with usage details operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, '/providers/Microsoft.Billing/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope. Also, Modern Commerce Account scopes are '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for billingAccount scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope, and 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific for partners.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportCreateOrUpdateByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportCreateOrUpdateByBillingAccount.json
new file mode 100644
index 000000000000..2f36a026d2d8
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportCreateOrUpdateByBillingAccount.json
@@ -0,0 +1,128 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456",
+ "exportName": "TestExport",
+ "parameters": {
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportCreateOrUpdateByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportCreateOrUpdateByDepartment.json
new file mode 100644
index 000000000000..e52e99fc360f
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportCreateOrUpdateByDepartment.json
@@ -0,0 +1,129 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "billingAccountId": "12",
+ "departmentId": "1234",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234",
+ "exportName": "TestExport",
+ "parameters": {
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json
new file mode 100644
index 000000000000..cd02cd131413
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json
@@ -0,0 +1,129 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
+ "exportName": "TestExport",
+ "parameters": {
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportCreateOrUpdateByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportCreateOrUpdateByManagementGroup.json
new file mode 100644
index 000000000000..f8a2f59d2739
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportCreateOrUpdateByManagementGroup.json
@@ -0,0 +1,128 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "managementGroupId": "TestMG",
+ "scope": "providers/Microsoft.Management/managementGroups/TestMG",
+ "exportName": "TestExport",
+ "parameters": {
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportCreateOrUpdateByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportCreateOrUpdateByResourceGroup.json
new file mode 100644
index 000000000000..d3ea17adcad9
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportCreateOrUpdateByResourceGroup.json
@@ -0,0 +1,129 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "exportName": "TestExport",
+ "parameters": {
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportCreateOrUpdateBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportCreateOrUpdateBySubscription.json
new file mode 100644
index 000000000000..c4363192c9f0
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportCreateOrUpdateBySubscription.json
@@ -0,0 +1,128 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "exportName": "TestExport",
+ "parameters": {
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportDeleteByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportDeleteByBillingAccount.json
new file mode 100644
index 000000000000..e13539240e1f
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportDeleteByBillingAccount.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportDeleteByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportDeleteByDepartment.json
new file mode 100644
index 000000000000..f22ede1f4d6b
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportDeleteByDepartment.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "billingAccountId": "12",
+ "departmentId": "1234",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportDeleteByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportDeleteByEnrollmentAccount.json
new file mode 100644
index 000000000000..cefa2d6f61b7
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportDeleteByEnrollmentAccount.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportDeleteByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportDeleteByManagementGroup.json
new file mode 100644
index 000000000000..353dc57314e6
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportDeleteByManagementGroup.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "managementGroupId": "TestMG",
+ "scope": "providers/Microsoft.Management/managementGroups/TestMG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportDeleteByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportDeleteByResourceGroup.json
new file mode 100644
index 000000000000..3b6691d0ddfa
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportDeleteByResourceGroup.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportDeleteBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportDeleteBySubscription.json
new file mode 100644
index 000000000000..844227aafcea
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportDeleteBySubscription.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportGetByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportGetByBillingAccount.json
new file mode 100644
index 000000000000..ce3560a8d632
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportGetByBillingAccount.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/{billingAccount-Id}/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-05-01T00:00:00Z",
+ "to": "2020-05-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportGetByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportGetByDepartment.json
new file mode 100644
index 000000000000..f44a93155bae
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportGetByDepartment.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "billingAccountId": "12",
+ "departmentId": "1234",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-06-30T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportGetByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportGetByEnrollmentAccount.json
new file mode 100644
index 000000000000..11c2a9874e80
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportGetByEnrollmentAccount.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2019-09-01T00:00:00Z",
+ "to": "2019-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportGetByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportGetByManagementGroup.json
new file mode 100644
index 000000000000..03c60466ff32
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportGetByManagementGroup.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "managementGroupId": "TestMG",
+ "scope": "providers/Microsoft.Management/managementGroups/TestMG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2019-09-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "UsageDate",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "UsageQuantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportGetByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportGetByResourceGroup.json
new file mode 100644
index 000000000000..8ccd648ae3f6
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportGetByResourceGroup.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-06-30T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportGetBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportGetBySubscription.json
new file mode 100644
index 000000000000..3eb748852725
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportGetBySubscription.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2019-06-01T00:00:00Z",
+ "to": "2019-07-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunByBillingAccount.json
new file mode 100644
index 000000000000..e13539240e1f
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunByBillingAccount.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunByDepartment.json
new file mode 100644
index 000000000000..f22ede1f4d6b
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunByDepartment.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "billingAccountId": "12",
+ "departmentId": "1234",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunByEnrollmentAccount.json
new file mode 100644
index 000000000000..cefa2d6f61b7
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunByEnrollmentAccount.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunByManagementGroup.json
new file mode 100644
index 000000000000..353dc57314e6
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunByManagementGroup.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "managementGroupId": "TestMG",
+ "scope": "providers/Microsoft.Management/managementGroups/TestMG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunByResourceGroup.json
new file mode 100644
index 000000000000..3b6691d0ddfa
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunByResourceGroup.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunBySubscription.json
new file mode 100644
index 000000000000..844227aafcea
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunBySubscription.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunHistoryGetByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunHistoryGetByBillingAccount.json
new file mode 100644
index 000000000000..4eefcd7fb70e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunHistoryGetByBillingAccount.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/{billingAccount-id}/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100",
+ "properties": {
+ "executionType": "OnDemand",
+ "status": "Completed",
+ "submittedBy": "john.doe@gmail.com",
+ "submittedTime": "2018-08-03T07:52:15.6016681Z",
+ "processingStartTime": "2018-08-03T07:52:16.9123797Z",
+ "processingEndTime": "2018-08-03T07:52:28.0373318Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/{billingAccount-id}/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef",
+ "properties": {
+ "executionType": "Scheduled",
+ "status": "Completed",
+ "submittedBy": "System",
+ "submittedTime": "2018-08-03T09:03:58.5710244Z",
+ "processingStartTime": "2018-08-03T09:03:58.5710244Z",
+ "processingEndTime": "2018-08-03T09:04:19.7223808Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunHistoryGetByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunHistoryGetByDepartment.json
new file mode 100644
index 000000000000..04ede5c8deca
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunHistoryGetByDepartment.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "billingAccountId": "12",
+ "departmentId": "1234",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100",
+ "properties": {
+ "executionType": "OnDemand",
+ "status": "Completed",
+ "submittedBy": "john.doe@gmail.com",
+ "submittedTime": "2018-08-03T07:52:15.6016681Z",
+ "processingStartTime": "2018-08-03T07:52:16.9123797Z",
+ "processingEndTime": "2018-08-03T07:52:28.0373318Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef",
+ "properties": {
+ "executionType": "Scheduled",
+ "status": "Completed",
+ "submittedBy": "System",
+ "submittedTime": "2018-08-03T09:03:58.5710244Z",
+ "processingStartTime": "2018-08-03T09:03:58.5710244Z",
+ "processingEndTime": "2018-08-03T09:04:19.7223808Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunHistoryGetByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunHistoryGetByEnrollmentAccount.json
new file mode 100644
index 000000000000..3cc2d9bdd01e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunHistoryGetByEnrollmentAccount.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100",
+ "properties": {
+ "executionType": "OnDemand",
+ "status": "Completed",
+ "submittedBy": "john.doe@gmail.com",
+ "submittedTime": "2018-08-03T07:52:15.6016681Z",
+ "processingStartTime": "2018-08-03T07:52:16.9123797Z",
+ "processingEndTime": "2018-08-03T07:52:28.0373318Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef",
+ "properties": {
+ "executionType": "Scheduled",
+ "status": "Completed",
+ "submittedBy": "System",
+ "submittedTime": "2018-08-03T09:03:58.5710244Z",
+ "processingStartTime": "2018-08-03T09:03:58.5710244Z",
+ "processingEndTime": "2018-08-03T09:04:19.7223808Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunHistoryGetByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunHistoryGetByManagementGroup.json
new file mode 100644
index 000000000000..1f48f4f819ba
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunHistoryGetByManagementGroup.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "managementGroupId": "TestMG",
+ "scope": "providers/Microsoft.Management/managementGroups/TestMG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100",
+ "properties": {
+ "executionType": "OnDemand",
+ "status": "Completed",
+ "submittedBy": "john.doe@gmail.com",
+ "submittedTime": "2018-08-03T07:52:15.6016681Z",
+ "processingStartTime": "2018-08-03T07:52:16.9123797Z",
+ "processingEndTime": "2018-08-03T07:52:28.0373318Z",
+ "fileName": "ScheduledForTestExport/TestExportSchedule/20180729-20180804/TestExportSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef",
+ "properties": {
+ "executionType": "Scheduled",
+ "status": "Completed",
+ "submittedBy": "System",
+ "submittedTime": "2018-08-03T09:03:58.5710244Z",
+ "processingStartTime": "2018-08-03T09:03:58.5710244Z",
+ "processingEndTime": "2018-08-03T09:04:19.7223808Z",
+ "fileName": "ScheduledForTestExport/TestExportSchedule/20180729-20180804/TestExportSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunHistoryGetByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunHistoryGetByResourceGroup.json
new file mode 100644
index 000000000000..3bd1bf4cde31
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunHistoryGetByResourceGroup.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100",
+ "properties": {
+ "executionType": "OnDemand",
+ "status": "Completed",
+ "submittedBy": "john.doe@gmail.com",
+ "submittedTime": "2018-08-03T07:52:15.6016681Z",
+ "processingStartTime": "2018-08-03T07:52:16.9123797Z",
+ "processingEndTime": "2018-08-03T07:52:28.0373318Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef",
+ "properties": {
+ "executionType": "Scheduled",
+ "status": "Completed",
+ "submittedBy": "System",
+ "submittedTime": "2018-08-03T09:03:58.5710244Z",
+ "processingStartTime": "2018-08-03T09:03:58.5710244Z",
+ "processingEndTime": "2018-08-03T09:04:19.7223808Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunHistoryGetBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunHistoryGetBySubscription.json
new file mode 100644
index 000000000000..ab4177df0638
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportRunHistoryGetBySubscription.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100",
+ "properties": {
+ "executionType": "OnDemand",
+ "status": "Completed",
+ "submittedBy": "john.doe@gmail.com",
+ "submittedTime": "2018-08-03T07:52:15.6016681Z",
+ "processingStartTime": "2018-08-03T07:52:16.9123797Z",
+ "processingEndTime": "2018-08-03T07:52:28.0373318Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef",
+ "properties": {
+ "executionType": "Scheduled",
+ "status": "Completed",
+ "submittedBy": "System",
+ "submittedTime": "2018-08-03T09:03:58.5710244Z",
+ "processingStartTime": "2018-08-03T09:03:58.5710244Z",
+ "processingEndTime": "2018-08-03T09:04:19.7223808Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportsGetByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportsGetByBillingAccount.json
new file mode 100644
index 000000000000..ff52df45d8f5
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportsGetByBillingAccount.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport1",
+ "name": "TestExport1",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport2",
+ "name": "TestExport2",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "WeekToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportsGetByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportsGetByDepartment.json
new file mode 100644
index 000000000000..bea2773556b9
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportsGetByDepartment.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "billingAccountId": "12",
+ "departmentId": "1234",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport1",
+ "name": "TestExport1",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport2",
+ "name": "TestExport2",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "WeekToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportsGetByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportsGetByEnrollmentAccount.json
new file mode 100644
index 000000000000..f0343237fd2a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportsGetByEnrollmentAccount.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport1",
+ "name": "TestExport1",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport2",
+ "name": "TestExport2",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "WeekToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportsGetByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportsGetByManagementGroup.json
new file mode 100644
index 000000000000..90fdb0dad090
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportsGetByManagementGroup.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "managementGroupId": "TestMG",
+ "scope": "providers/Microsoft.Management/managementGroups/TestMG"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport1",
+ "name": "TestExport1",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport2",
+ "name": "TestExport2",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "WeekToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportsGetByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportsGetByResourceGroup.json
new file mode 100644
index 000000000000..139924630b02
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportsGetByResourceGroup.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport1",
+ "name": "TestExport1",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport2",
+ "name": "TestExport2",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "WeekToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportsGetBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportsGetBySubscription.json
new file mode 100644
index 000000000000..3ae8512be0b2
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/ExportsGetBySubscription.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport1",
+ "name": "TestExport1",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport2",
+ "name": "TestExport2",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "WeekToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/GenerateDetailedCostReportByBillingAccountLegacyAndBillingPeriod.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/GenerateDetailedCostReportByBillingAccountLegacyAndBillingPeriod.json
new file mode 100644
index 000000000000..790574544ff7
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/GenerateDetailedCostReportByBillingAccountLegacyAndBillingPeriod.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345",
+ "parameters": {
+ "metric": "ActualCost",
+ "billingPeriod": "202008"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/operationResults/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.Consumption/operationResult",
+ "properties": {
+ "downloadUrl": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/20201207/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd",
+ "validTill": "2020-12-08T05:55:59.4394737Z"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345/providers/Microsoft.CostManagement/operationResults/ad0d632f-1186-41fe-89f9-ae29e198d223?api-version=2021-01-01",
+ "Azure-Consumption-AsyncOperation": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345/providers/Microsoft.CostManagement/operationStatus/ad0d632f-1186-41fe-89f9-ae29e198d223?api-version=2021-01-01",
+ "Retry-After": "60"
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/GenerateDetailedCostReportByBillingProfileAndInvoiceId.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/GenerateDetailedCostReportByBillingProfileAndInvoiceId.json
new file mode 100644
index 000000000000..45067b0d493a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/GenerateDetailedCostReportByBillingProfileAndInvoiceId.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579",
+ "parameters": {
+ "metric": "ActualCost",
+ "invoiceId": "M1234567"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/operationResults/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.Consumption/operationResult",
+ "properties": {
+ "downloadUrl": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/20201207/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd",
+ "validTill": "2020-12-08T05:55:59.4394737Z"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/operationResults/ad0d632f-1186-41fe-89f9-ae29e198d223?api-version=2021-01-01",
+ "Azure-Consumption-AsyncOperation": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/operationStatus/ad0d632f-1186-41fe-89f9-ae29e198d223?api-version=2021-01-01",
+ "Retry-After": "60"
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/GenerateDetailedCostReportByBillingProfileAndInvoiceIdAndCustomerId.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/GenerateDetailedCostReportByBillingProfileAndInvoiceIdAndCustomerId.json
new file mode 100644
index 000000000000..313c9bca7d0c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/GenerateDetailedCostReportByBillingProfileAndInvoiceIdAndCustomerId.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579",
+ "parameters": {
+ "metric": "ActualCost",
+ "invoiceId": "M1234567",
+ "customerId": "456789"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/operationResults/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.Consumption/operationResult",
+ "properties": {
+ "downloadUrl": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/20201207/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd",
+ "validTill": "2020-12-08T05:55:59.4394737Z"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/operationResults/ad0d632f-1186-41fe-89f9-ae29e198d223?api-version=2021-01-01",
+ "Azure-Consumption-AsyncOperation": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/operationStatus/ad0d632f-1186-41fe-89f9-ae29e198d223?api-version=2021-01-01",
+ "Retry-After": "60"
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/GenerateDetailedCostReportByCustomerAndTimePeriod.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/GenerateDetailedCostReportByCustomerAndTimePeriod.json
new file mode 100644
index 000000000000..c35789b2625b
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/GenerateDetailedCostReportByCustomerAndTimePeriod.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/13579",
+ "parameters": {
+ "metric": "ActualCost",
+ "timePeriod": {
+ "start": "2020-03-01",
+ "end": "2020-03-15"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/operationResults/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.Consumption/operationResult",
+ "properties": {
+ "downloadUrl": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/20201207/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd",
+ "validTill": "2020-12-08T05:55:59.4394737Z"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/13579/providers/Microsoft.CostManagement/operationResults/ad0d632f-1186-41fe-89f9-ae29e198d223?api-version=2021-01-01",
+ "Azure-Consumption-AsyncOperation": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/13579/providers/Microsoft.CostManagement/operationStatus/ad0d632f-1186-41fe-89f9-ae29e198d223?api-version=2021-01-01",
+ "Retry-After": "60"
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/GenerateDetailedCostReportBySubscriptionAndTimePeriod.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/GenerateDetailedCostReportBySubscriptionAndTimePeriod.json
new file mode 100644
index 000000000000..053df0c5b18f
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/GenerateDetailedCostReportBySubscriptionAndTimePeriod.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "parameters": {
+ "metric": "ActualCost",
+ "timePeriod": {
+ "start": "2020-03-01",
+ "end": "2020-03-15"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/operationResults/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.Consumption/operationResult",
+ "properties": {
+ "downloadUrl": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/20201207/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd",
+ "validTill": "2020-12-08T05:55:59.4394737Z"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/operationResults/00000000-0000-0000-0000-000000000000?api-version=2021-01-01",
+ "Azure-Consumption-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2021-01-01",
+ "Retry-After": "60"
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/GenerateDetailedCostReportOperationResultsBySubscriptionScope.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/GenerateDetailedCostReportOperationResultsBySubscriptionScope.json
new file mode 100644
index 000000000000..31c1736017e5
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/GenerateDetailedCostReportOperationResultsBySubscriptionScope.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/operationResults/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.Consumption/operationResult",
+ "properties": {
+ "downloadUrl": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/20201207/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd",
+ "validTill": "2020-12-08T05:55:59.4394737Z"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345/providers/Microsoft.CostManagement/operationResults/ad0d632f-1186-41fe-89f9-ae29e198d223?api-version=2021-01-01",
+ "Azure-Consumption-AsyncOperation": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345/providers/Microsoft.CostManagement/operationStatus/ad0d632f-1186-41fe-89f9-ae29e198d223?api-version=2021-01-01",
+ "Retry-After": "60"
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/GenerateDetailedCostReportOperationStatusBySubscriptionScope.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/GenerateDetailedCostReportOperationStatusBySubscriptionScope.json
new file mode 100644
index 000000000000..c1ec64560b1a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-01-01/examples/GenerateDetailedCostReportOperationStatusBySubscriptionScope.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/operationStatus/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "status": "Completed",
+ "type": "Microsoft.Consumption/operationStatus",
+ "properties": {
+ "downloadUrl": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/20201207/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd",
+ "validTill": "2020-12-08T05:55:59.4394737Z"
+ },
+ "error": {
+ "code": "0",
+ "message": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/readme.azureresourceschema.md b/specification/cost-management/resource-manager/readme.azureresourceschema.md
index a1771bc87499..ca57f5675564 100644
--- a/specification/cost-management/resource-manager/readme.azureresourceschema.md
+++ b/specification/cost-management/resource-manager/readme.azureresourceschema.md
@@ -23,6 +23,19 @@ batch:
Please also specify `--azureresourceschema-folder=`.
+### Tag: schema-costmanagement-2021-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-costmanagement-2021-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CostManagement/stable/2021-01-01/costmanagement.exports.json
+ - Microsoft.CostManagement/stable/2021-01-01/costmanagement.generatedetailedcostreport.json
+ - Microsoft.CostManagement/stable/2020-06-01/costmanagement.json
+
+```
+
### Tag: schema-costmanagement-2020-12-01-preview and azureresourceschema
``` yaml $(tag) == 'schema-costmanagement-2020-12-01-preview' && $(azureresourceschema)
@@ -30,6 +43,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 +55,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..82aa00c6f6f8 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,8 @@ batch:
- tag: package-2019-01
- tag: package-preview-2019-03
- tag: package-2019-10
+ - tag: package-2020-06
+ - tag: package-2021-01
```
### Tag: package-2018-05 and go
@@ -74,3 +76,11 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-01' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-01-01/$(namespace)
+```
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/readme.md b/specification/cost-management/resource-manager/readme.md
index 751b6b3d648a..3ee8c75f9c3f 100644
--- a/specification/cost-management/resource-manager/readme.md
+++ b/specification/cost-management/resource-manager/readme.md
@@ -26,19 +26,30 @@ These are the global settings for the Cost Management API.
``` yaml
openapi-type: arm
-tag: package-2020-06
+tag: package-2019-11
azure-validator: false
```
---
+
+### 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.CostManagement/stable/2021-01-01/costmanagement.exports.json
+ - Microsoft.CostManagement/stable/2021-01-01/costmanagement.generatedetailedcostreport.json
+ - Microsoft.CostManagement/stable/2020-06-01/costmanagement.json
+```
### Tag: package-preview-2020-12
These settings apply only when `--tag=package-preview-2020-12` is specified on the command line.
-```yaml $(tag) == 'package-preview-2020-12'
+``` 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
```
@@ -47,7 +58,7 @@ input-file:
These settings apply only when `--tag=package-preview-2020-03` is specified on the command line.
-```yaml $(tag) == 'package-preview-2020-03'
+``` yaml $(tag) == 'package-preview-2020-03'
input-file:
- Microsoft.CostManagement/stable/2020-06-01/costmanagement.json
- Microsoft.CostManagement/preview/2020-03-01-preview/costallocation.json
@@ -57,13 +68,12 @@ input-file:
These settings apply only when `--tag=package-2020-06` is specified on the command line.
-```yaml $(tag) == 'package-2020-06'
+``` yaml $(tag) == 'package-2020-06'
input-file:
- Microsoft.CostManagement/stable/2020-06-01/costmanagement.json
- Microsoft.CostManagement/stable/2020-06-01/costmanagement.exports.json
```
-
### Tag: package-2019-11
These settings apply only when `--tag=package-2019-11` is specified on the command line.
@@ -226,8 +236,6 @@ swagger-to-sdk:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_costmanagement']
- repo: azure-cli-extensions
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js cost-management/resource-manager
```
## C#
@@ -351,7 +359,4 @@ regenerate-manager: true
generate-interface: true
```
-## AzureResourceSchema
-
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/cost-management/resource-manager/readme.typescript.md b/specification/cost-management/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..191f220e76bf
--- /dev/null
+++ b/specification/cost-management/resource-manager/readme.typescript.md
@@ -0,0 +1,13 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+``` yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "@azure/arm-costmanagement"
+ output-folder: "$(typescript-sdks-folder)/sdk/cost-management/arm-costmanagement"
+ clear-output-folder: true
+ generate-metadata: true
+```
diff --git a/specification/cpim/resource-manager/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.azureresourceschema.md b/specification/cpim/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index ca73aeee45de..000000000000
--- a/specification/cpim/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,36 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-azureactivedirectory-2020-05-01-preview
- - tag: schema-azureactivedirectory-2019-01-01-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-azureactivedirectory-2020-05-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-azureactivedirectory-2020-05-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/cpim.json
-
-```
-
-### Tag: schema-azureactivedirectory-2019-01-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-azureactivedirectory-2019-01-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/cpimTenant.json
-
-```
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..16ca755ad519 100644
--- a/specification/cpim/resource-manager/readme.python.md
+++ b/specification/cpim/resource-manager/readme.python.md
@@ -1,25 +1,12 @@
## Python
-These settings apply only when `--python` is specified on the command line.
-
-```yaml !$(track2)
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- package-name: azure-mgmt-azureadb2c
- clear-output-folder: true
- no-namespace-folders: true
- python-base-folder: azureadb2c/azure-mgmt-azureadb2c/azure/mgmt/azureadb2c
- python-base-namespace: azure.mgmt.azureadb2c
-```
-
These settings apply only when `--track2` is specified on the command line.
```yaml $(track2)
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
```
@@ -28,12 +15,6 @@ python-base-folder: azureadb2c/azure-mgmt-azureadb2c/azure/mgmt/azureadb2c
Generate all API versions currently shipped for this package
-```yaml $(multiapi) && !$(track2)
-batch:
- - tag: package-2020-05-01-preview
- - tag: package-2019-01-01-preview
-```
-
```yaml $(multiapi) && $(track2)
clear-output-folder: true
batch:
@@ -55,9 +36,6 @@ These settings apply only when `--tag=package-2020-05-01-preview --python` is sp
```yaml $(tag) =='package-2020-05-01-preview'
namespace: $(python-base-namespace).v2020_05_01_preview
output-folder: $(python-sdks-folder)/$(python-base-folder)/v2020_05_01_preview
-python:
- namespace: $(python-base-namespace).v2020_05_01_preview
- output-folder: $(python-sdks-folder)/$(python-base-folder)/v2020_05_01_preview
```
### Tag: package-2019-01-01-preview and python
@@ -67,7 +45,4 @@ These settings apply only when `--tag=package-2019-01-01-preview --python` is sp
```yaml $(tag) =='package-2019-01-01-preview'
namespace: $(python-base-namespace).v2019_01_01_preview
output-folder: $(python-sdks-folder)/$(python-base-folder)/v2019_01_01_preview
-python:
- namespace: $(python-base-namespace).v2019_01_01_preview
- output-folder: $(python-sdks-folder)/$(python-base-folder)/v2019_01_01_preview
```
diff --git a/specification/cpim/resource-manager/reeadme.azureresourceschema.md b/specification/cpim/resource-manager/reeadme.azureresourceschema.md
deleted file mode 100644
index ca73aeee45de..000000000000
--- a/specification/cpim/resource-manager/reeadme.azureresourceschema.md
+++ /dev/null
@@ -1,36 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-azureactivedirectory-2020-05-01-preview
- - tag: schema-azureactivedirectory-2019-01-01-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-azureactivedirectory-2020-05-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-azureactivedirectory-2020-05-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/cpim.json
-
-```
-
-### Tag: schema-azureactivedirectory-2019-01-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-azureactivedirectory-2019-01-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/cpimTenant.json
-
-```
diff --git a/specification/customer-insights/resource-manager/readme.azureresourceschema.md b/specification/customer-insights/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index 856e894fb719..000000000000
--- a/specification/customer-insights/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,36 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-customerinsights-2017-04-26
- - tag: schema-customerinsights-2017-01-01
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-customerinsights-2017-04-26 and azureresourceschema
-
-``` yaml $(tag) == 'schema-customerinsights-2017-04-26' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.CustomerInsights/stable/2017-04-26/customer-insights.json
-
-```
-
-### Tag: schema-customerinsights-2017-01-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-customerinsights-2017-01-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.CustomerInsights/stable/2017-01-01/customer-insights.json
-
-```
diff --git a/specification/customer-insights/resource-manager/readme.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/customer-insights/resource-manager/readme.md b/specification/customer-insights/resource-manager/readme.md
index c75b5444e49c..f759525a5e9e 100644
--- a/specification/customer-insights/resource-manager/readme.md
+++ b/specification/customer-insights/resource-manager/readme.md
@@ -69,8 +69,6 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_customer_insights']
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js customer-insights/resource-manager
```
@@ -143,7 +141,5 @@ generate-interface: true
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/customerlockbox/resource-manager/readme.azureresourceschema.md b/specification/customerlockbox/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index c4bfaba99a75..000000000000
--- a/specification/customerlockbox/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,24 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-customerlockbox-2018-02-28-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-customerlockbox-2018-02-28-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-customerlockbox-2018-02-28-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.CustomerLockbox/preview/2018-02-28-preview/customerlockbox.json
-
-```
diff --git a/specification/customerlockbox/resource-manager/readme.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/customerlockbox/resource-manager/readme.md b/specification/customerlockbox/resource-manager/readme.md
index 0b8ea5704f95..1e9afd454671 100644
--- a/specification/customerlockbox/resource-manager/readme.md
+++ b/specification/customerlockbox/resource-manager/readme.md
@@ -57,8 +57,6 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_customerlockbox']
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js customerlockbox/resource-manager
```
## Go
@@ -81,7 +79,5 @@ See configuration in [readme.typescript.md](./readme.typescript.md)
See configuration in [readme.csharp.md](./readme.csharp.md)
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/customproviders/resource-manager/readme.azureresourceschema.md b/specification/customproviders/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index cfe5cfcbb11e..000000000000
--- a/specification/customproviders/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,24 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-customproviders-2018-09-01-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-customproviders-2018-09-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-customproviders-2018-09-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.CustomProviders/preview/2018-09-01-preview/customproviders.json
-
-```
diff --git a/specification/customproviders/resource-manager/readme.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 a93db7236a03..84b2982cf20a 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
@@ -62,8 +63,6 @@ swagger-to-sdk:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_customproviders']
- repo: azure-cli-extensions
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js customproviders/resource-manager
```
## Go
@@ -94,9 +93,7 @@ See configuration in [readme.nodejs.md](./readme.nodejs.md)
See configuration in [readme.terraform.md](./readme.terraform.md)
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
## cli
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
deleted file mode 100644
index c4424d428592..000000000000
--- a/specification/databox/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,60 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-databox-2020-11-01
- - tag: schema-databox-2020-04-01
- - tag: schema-databox-2019-09-01
- - tag: schema-databox-2018-01-01
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-databox-2020-11-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-databox-2020-11-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DataBox/stable/2020-11-01/databox.json
-
-```
-
-### Tag: schema-databox-2020-04-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-databox-2020-04-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DataBox/stable/2020-04-01/databox.json
-
-```
-
-### Tag: schema-databox-2019-09-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-databox-2019-09-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DataBox/stable/2019-09-01/databox.json
-
-```
-
-### Tag: schema-databox-2018-01-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-databox-2018-01-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DataBox/stable/2018-01-01/databox.json
-
-```
diff --git a/specification/databox/resource-manager/readme.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 82293c41cca4..cbc5359579e8 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
@@ -90,8 +99,6 @@ swagger-to-sdk:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_databox']
- repo: azure-cli-extensions
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js databox/resource-manager
```
## C#
@@ -129,82 +136,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
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/databox/resource-manager/readme.python.md b/specification/databox/resource-manager/readme.python.md
index 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..a2f2d5badd84
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/databoxedge.json
@@ -0,0 +1,8772 @@
+{
+ "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
+ },
+ "capabilities": {
+ "description": "The capability info of the SKU.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuCapability"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "DataBoxEdgeSkuList": {
+ "description": "List of SKU Information objects.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of ResourceType Sku",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataBoxEdgeSku"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Links to the next set of results",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "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
+ }
+ }
+ }
+ },
+ "SkuCapability": {
+ "description": "The metadata to describe the capability.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "An invariant to describe the feature.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "An invariant if the feature is measured by quantity.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuCost": {
+ "description": "The metadata for retrieving price info.",
+ "type": "object",
+ "properties": {
+ "meterId": {
+ "description": "Used for querying price from commerce.",
+ "type": "string",
+ "readOnly": true
+ },
+ "quantity": {
+ "format": "int64",
+ "description": "The cost quantity.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "extendedUnit": {
+ "description": "The extended unit.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuInformation": {
+ "description": "Sku information",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The sku name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tier": {
+ "description": "The sku tier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "kind": {
+ "description": "The sku kind.",
+ "type": "string",
+ "readOnly": true
+ },
+ "family": {
+ "description": "The Sku family.",
+ "type": "string",
+ "readOnly": true
+ },
+ "costs": {
+ "description": "The pricing info of the Sku.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuCost"
+ },
+ "readOnly": true
+ },
+ "locations": {
+ "description": "The locations where Sku is available.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "locationInfo": {
+ "description": "The locations where Sku is available with zones and sites info",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuLocationInfo"
+ },
+ "readOnly": true
+ },
+ "requiredQuotaIds": {
+ "description": "The required quotaIds for the sku to be available.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "requiredFeatures": {
+ "description": "The required features for the sku to be available.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "SkuInformationList": {
+ "description": "List of SKU Information objects",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of ResourceTypeSku objects",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceTypeSku"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Links to the next set of results",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuLocationInfo": {
+ "description": "The location info.",
+ "type": "object",
+ "properties": {
+ "location": {
+ "description": "The location.",
+ "type": "string",
+ "readOnly": true
+ },
+ "zones": {
+ "description": "The zones.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "sites": {
+ "description": "The sites.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAccount": {
+ "description": "Represents a Storage Account on the Data Box Edge/Gateway device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "StorageAccount object on ASE device",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/StorageAccountProperties",
+ "description": "The Storage Account properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "StorageAccountCredential": {
+ "description": "The storage account credential.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "StorageAccountCredential object",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/StorageAccountCredentialProperties",
+ "description": "The storage account credential properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "StorageAccountCredentialList": {
+ "description": "The collection of storage account credentials.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageAccountCredential"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAccountCredentialProperties": {
+ "description": "The storage account credential properties.",
+ "required": [
+ "alias",
+ "sslStatus",
+ "accountType"
+ ],
+ "type": "object",
+ "properties": {
+ "alias": {
+ "description": "Alias for the storage account.",
+ "type": "string"
+ },
+ "userName": {
+ "description": "Username for the storage account.",
+ "type": "string"
+ },
+ "accountKey": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Encrypted storage key."
+ },
+ "connectionString": {
+ "description": "Connection string for the storage account. Use this string if username and account key are not specified.",
+ "type": "string"
+ },
+ "sslStatus": {
+ "description": "Signifies whether SSL needs to be enabled or not.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SSLStatus",
+ "modelAsString": true
+ }
+ },
+ "blobDomainName": {
+ "description": "Blob end point for private clouds.",
+ "type": "string"
+ },
+ "accountType": {
+ "description": "Type of storage accessed on the storage account.",
+ "enum": [
+ "GeneralPurposeStorage",
+ "BlobStorage"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AccountType",
+ "modelAsString": true
+ }
+ },
+ "storageAccountId": {
+ "description": "Id of the storage account.",
+ "type": "string"
+ }
+ }
+ },
+ "StorageAccountList": {
+ "description": "Collection of all the Storage Accounts on the Data Box Edge/Gateway device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of storageAccounts.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageAccount"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAccountProperties": {
+ "description": "The storage account properties.",
+ "required": [
+ "dataPolicy"
+ ],
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Description for the storage Account.",
+ "type": "string"
+ },
+ "storageAccountStatus": {
+ "description": "Current status of the storage account",
+ "enum": [
+ "OK",
+ "Offline",
+ "Unknown",
+ "Updating",
+ "NeedsAttention"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageAccountStatus",
+ "modelAsString": true
+ }
+ },
+ "dataPolicy": {
+ "description": "Data policy of the storage Account.",
+ "enum": [
+ "Cloud",
+ "Local"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataPolicy",
+ "modelAsString": true
+ }
+ },
+ "storageAccountCredentialId": {
+ "description": "Storage Account Credential Id",
+ "type": "string"
+ },
+ "blobEndpoint": {
+ "description": "BlobEndpoint of Storage Account",
+ "type": "string",
+ "readOnly": true
+ },
+ "containerCount": {
+ "format": "int32",
+ "description": "The Container Count. Present only for Storage Accounts with DataPolicy set to Cloud.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "SubscriptionProperties": {
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "type": "string"
+ },
+ "locationPlacementId": {
+ "type": "string"
+ },
+ "quotaId": {
+ "type": "string"
+ },
+ "serializedDetails": {
+ "type": "string"
+ },
+ "registeredFeatures": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubscriptionRegisteredFeatures"
+ }
+ }
+ }
+ },
+ "SubscriptionRegisteredFeatures": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ }
+ }
+ },
+ "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
deleted file mode 100644
index ed01209d6f2b..000000000000
--- a/specification/databoxedge/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,96 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-databoxedge-2020-12-01
- - tag: schema-databoxedge-2020-09-01-preview
- - tag: schema-databoxedge-2020-09-01
- - tag: schema-databoxedge-2020-05-01-preview
- - tag: schema-databoxedge-2019-08-01
- - tag: schema-databoxedge-2019-07-01
- - tag: schema-databoxedge-2019-03-01
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-databoxedge-2020-12-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-databoxedge-2020-12-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DataBoxEdge/stable/2020-12-01/databoxedge.json
-
-```
-
-### Tag: schema-databoxedge-2020-09-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-databoxedge-2020-09-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DataBoxEdge/preview/2020-09-01-preview/databoxedge.json
-
-```
-
-### Tag: schema-databoxedge-2020-09-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-databoxedge-2020-09-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DataBoxEdge/stable/2020-09-01/databoxedge.json
-
-```
-
-### Tag: schema-databoxedge-2020-05-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-databoxedge-2020-05-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DataBoxEdge/preview/2020-05-01-preview/databoxedge.json
-
-```
-
-### Tag: schema-databoxedge-2019-08-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-databoxedge-2019-08-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json
-
-```
-
-### Tag: schema-databoxedge-2019-07-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-databoxedge-2019-07-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DataBoxEdge/stable/2019-07-01/databoxedge.json
-
-```
-
-### Tag: schema-databoxedge-2019-03-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-databoxedge-2019-03-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DataBoxEdge/stable/2019-03-01/databoxedge.json
-
-```
diff --git a/specification/databoxedge/resource-manager/readme.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..5c292a794298 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.
@@ -112,6 +120,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-python
after_scripts:
- python ./scripts/multiapi_init_gen.py azure-mgmt-databoxedge
+ - repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-js
- repo: azure-sdk-for-go
- repo: azure-sdk-for-java
@@ -120,8 +129,6 @@ swagger-to-sdk:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_databoxedge']
- repo: azure-cli-extensions
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js databoxedge/resource-manager
```
## C#
@@ -155,7 +162,5 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
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
index 80b38d991f5e..a06e07226edb 100644
--- a/specification/databoxedge/resource-manager/readme.terraform.md
+++ b/specification/databoxedge/resource-manager/readme.terraform.md
@@ -74,4 +74,37 @@ overrides:
property: "SSLStatus"
set:
- GoFieldName: "SslStatus"
-```
\ No newline at end of file
+```
+
+```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/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.azureresourceschema.md b/specification/databricks/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index d05e235cbedf..000000000000
--- a/specification/databricks/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,24 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-databricks-2018-04-01
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-databricks-2018-04-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-databricks-2018-04-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Databricks/stable/2018-04-01/databricks.json
-
-```
diff --git a/specification/databricks/resource-manager/readme.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 621a7581ebc7..20ac8b9c6fb4 100644
--- a/specification/databricks/resource-manager/readme.md
+++ b/specification/databricks/resource-manager/readme.md
@@ -89,8 +89,6 @@ swagger-to-sdk:
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js databricks/resource-manager
```
## Go
@@ -100,7 +98,5 @@ See configuration in [readme.go.md](./readme.go.md)
## Python
See configuration in [readme.python.md](./readme.python.md)
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/datacatalog/resource-manager/readme.azureresourceschema.md b/specification/datacatalog/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index 7c377f7a6300..000000000000
--- a/specification/datacatalog/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,24 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-datacatalog-2016-03-30
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-datacatalog-2016-03-30 and azureresourceschema
-
-``` yaml $(tag) == 'schema-datacatalog-2016-03-30' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DataCatalog/stable/2016-03-30/datacatalog.json
-
-```
diff --git a/specification/datacatalog/resource-manager/readme.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/datacatalog/resource-manager/readme.md b/specification/datacatalog/resource-manager/readme.md
index 8a2adf1fe7df..93bb2c8c036e 100644
--- a/specification/datacatalog/resource-manager/readme.md
+++ b/specification/datacatalog/resource-manager/readme.md
@@ -55,8 +55,6 @@ swagger-to-sdk:
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js datacatalog/resource-manager
```
## C#
@@ -137,7 +135,5 @@ generate-interface: true
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/datadog.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/datadog.json
index 4851f3b0b66b..f7c73082f0e6 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
@@ -679,6 +679,12 @@
"$ref": "#/definitions/DatadogMonitorResource"
}
},
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DatadogMonitorResource"
+ }
+ },
"default": {
"description": "Default error response.",
"schema": {
@@ -686,6 +692,7 @@
}
}
},
+ "x-ms-long-running-operation": true,
"x-ms-examples": {
"Monitors_Update": {
"$ref": "./examples/Monitors_Update.json"
@@ -1505,7 +1512,8 @@
"x-ms-enum": {
"modelAsString": true,
"name": "ProvisioningState"
- }
+ },
+ "readOnly": true
},
"MonitoringStatus": {
"description": "Flag specifying if the resource monitoring is enabled or disabled.",
@@ -1772,6 +1780,9 @@
"additionalProperties": {
"type": "string"
}
+ },
+ "sku": {
+ "$ref": "#/definitions/ResourceSku"
}
}
},
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Update.json b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Update.json
index 533a811b225a..6d74f3cd86ac 100644
--- a/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Update.json
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/preview/2020-02-01-preview/examples/Monitors_Update.json
@@ -40,6 +40,30 @@
},
"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/datadog.json b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/datadog.json
index 8c7a4b76ee9c..0c0843732a48 100644
--- a/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/datadog.json
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/datadog.json
@@ -679,6 +679,12 @@
"$ref": "#/definitions/DatadogMonitorResource"
}
},
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DatadogMonitorResource"
+ }
+ },
"default": {
"description": "Default error response.",
"schema": {
@@ -686,6 +692,7 @@
}
}
},
+ "x-ms-long-running-operation": true,
"x-ms-examples": {
"Monitors_Update": {
"$ref": "./examples/Monitors_Update.json"
@@ -1481,7 +1488,8 @@
"x-ms-enum": {
"modelAsString": true,
"name": "ProvisioningState"
- }
+ },
+ "readOnly": true
},
"MonitoringStatus": {
"description": "Flag specifying if the resource monitoring is enabled or disabled.",
@@ -1752,6 +1760,9 @@
"additionalProperties": {
"type": "string"
}
+ },
+ "sku": {
+ "$ref": "#/definitions/ResourceSku"
}
}
},
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
index 2badea682d99..1a39ce075e83 100644
--- 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
@@ -40,6 +40,30 @@
},
"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/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
deleted file mode 100644
index e1300ce5f490..000000000000
--- a/specification/datadog/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,36 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` 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)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Datadog/preview/2020-02-01-preview/datadog.json
-
-```
diff --git a/specification/datadog/resource-manager/readme.go.md b/specification/datadog/resource-manager/readme.go.md
index e4f736b53b6d..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
```
diff --git a/specification/datadog/resource-manager/readme.md b/specification/datadog/resource-manager/readme.md
index 21b9bd8cec5e..08c2573523b0 100644
--- a/specification/datadog/resource-manager/readme.md
+++ b/specification/datadog/resource-manager/readme.md
@@ -67,8 +67,6 @@ swagger-to-sdk:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_datadog']
- repo: azure-cli-extensions
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js datadog/resource-manager
```
## C#
@@ -100,9 +98,7 @@ See configuration in [readme.ruby.md](./readme.ruby.md)
See configuration in [readme.typescript.md](./readme.typescript.md)
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
## Multi-API/Profile support for AutoRest v3 generators
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json
index edf05e372b2e..d403dc5bc04d 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json
@@ -385,8 +385,8 @@
],
"properties": {
"filePattern": {
- "description": "File pattern of JSON. To be more specific, the way of separating a collection of JSON objects. The default value is 'setOfObjects'. It is case-sensitive.",
- "$ref": "#/definitions/JsonFormatFilePattern"
+ "type": "object",
+ "description": "File pattern of JSON. To be more specific, the way of separating a collection of JSON objects. The default value is 'setOfObjects'. It is case-sensitive."
},
"nestingSeparator": {
"type": "object",
@@ -408,7 +408,7 @@
},
"JsonFormatFilePattern": {
"description": "JSON format file pattern. A property of JsonFormat.",
- "type": "object",
+ "type": "string",
"enum": [
"setOfObjects",
"arrayOfObjects"
@@ -484,8 +484,8 @@
],
"properties": {
"level": {
- "description": "The GZip compression level.",
- "$ref": "#/definitions/CompressionLevel"
+ "type": "object",
+ "description": "The GZip compression level."
}
}
},
@@ -500,8 +500,8 @@
],
"properties": {
"level": {
- "description": "The Deflate compression level.",
- "$ref": "#/definitions/CompressionLevel"
+ "type": "object",
+ "description": "The Deflate compression level."
}
}
},
@@ -516,8 +516,8 @@
],
"properties": {
"level": {
- "description": "The ZipDeflate compression level.",
- "$ref": "#/definitions/CompressionLevel"
+ "type": "object",
+ "description": "The ZipDeflate compression level."
}
}
},
@@ -543,15 +543,15 @@
],
"properties": {
"level": {
- "description": "The TarGZip compression level.",
- "$ref": "#/definitions/CompressionLevel"
+ "type": "object",
+ "description": "The TarGZip compression level."
}
}
},
"CompressionLevel": {
"title": "Microsoft.Azure.Management.DataFactories.Models.CompressionLevel",
"description": "All available compression levels.",
- "type": "object",
+ "type": "string",
"enum": [
"Optimal",
"Fastest"
@@ -695,7 +695,11 @@
},
"sheetName": {
"type": "object",
- "description": "The sheet of excel file. Type: string (or Expression with resultType string)."
+ "description": "The sheet name of excel file. Type: string (or Expression with resultType string)."
+ },
+ "sheetIndex": {
+ "type": "object",
+ "description": "The sheet index of excel file and default value is 0. Type: integer (or Expression with resultType integer)"
},
"range": {
"type": "object",
@@ -715,8 +719,7 @@
}
},
"required": [
- "location",
- "sheetName"
+ "location"
]
},
"ParquetDataset": {
@@ -745,16 +748,7 @@
},
"compressionCodec": {
"type": "object",
- "enum": [
- "none",
- "gzip",
- "snappy",
- "lzo"
- ],
- "x-ms-enum": {
- "name": "compressionCodec",
- "modelAsString": true
- }
+ "description": "The data compressionCodec. Type: string (or Expression with resultType string)."
}
},
"required": [
@@ -799,24 +793,11 @@
},
"compressionCodec": {
"type": "object",
- "enum": [
- "bzip2",
- "gzip",
- "deflate",
- "zipDeflate",
- "snappy",
- "lz4",
- "tar",
- "tarGZip"
- ],
- "x-ms-enum": {
- "name": "compressionCodec",
- "modelAsString": true
- }
+ "description": "The data compressionCodec. Type: string (or Expression with resultType string)."
},
"compressionLevel": {
- "description": "The data compression method used for DelimitedText.",
- "$ref": "#/definitions/CompressionLevel"
+ "type": "object",
+ "description": "The data compression method used for DelimitedText."
},
"quoteChar": {
"type": "object",
@@ -839,6 +820,26 @@
"location"
]
},
+ "CompressionCodec": {
+ "description": "All available compressionCodec values.",
+ "type": "string",
+ "enum": [
+ "none",
+ "lzo",
+ "bzip2",
+ "gzip",
+ "deflate",
+ "zipDeflate",
+ "snappy",
+ "lz4",
+ "tar",
+ "tarGZip"
+ ],
+ "x-ms-enum": {
+ "name": "CompressionCodec",
+ "modelAsString": true
+ }
+ },
"JsonDataset": {
"x-ms-discriminator-value": "Json",
"description": "Json dataset.",
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json
index f9160780c8b8..160a73ec5a57 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json
@@ -237,6 +237,10 @@
"items": {
"$ref": "#/definitions/PackageStore"
}
+ },
+ "managedCredential": {
+ "description": "The user-assigned managed identity reference.",
+ "$ref": "#/definitions/EntityReference"
}
},
"additionalProperties": {
@@ -504,7 +508,8 @@
"type": "string",
"enum": [
"IntegrationRuntimeReference",
- "LinkedServiceReference"
+ "LinkedServiceReference",
+ "CredentialReference"
],
"x-ms-enum": {
"name": "IntegrationRuntimeEntityReferenceType",
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..71f9d12270d8 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.",
@@ -595,14 +635,6 @@
"description": "Dynamics linked service properties.",
"properties": {
"deploymentType": {
- "x-ms-enum": {
- "name": "DynamicsDeploymentType",
- "modelAsString": true
- },
- "enum": [
- "Online",
- "OnPremisesWithIfd"
- ],
"type": "object",
"description": "The deployment type of the Dynamics instance. 'Online' for Dynamics Online and 'OnPremisesWithIfd' for Dynamics on-premises with Ifd. Type: string (or Expression with resultType string)."
},
@@ -623,15 +655,6 @@
"description": "The organization name of the Dynamics instance. The property is required for on-prem and required for online when there are more than one Dynamics instances associated with the user. Type: string (or Expression with resultType string)."
},
"authenticationType": {
- "x-ms-enum": {
- "name": "DynamicsAuthenticationType",
- "modelAsString": true
- },
- "enum": [
- "Office365",
- "Ifd",
- "AADServicePrincipal"
- ],
"type": "object",
"description": "The authentication type to connect to Dynamics server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario, 'AADServicePrincipal' for Server-To-Server authentication in online scenario. Type: string (or Expression with resultType string)."
},
@@ -648,14 +671,6 @@
"description": "The client ID of the application in Azure Active Directory used for Server-To-Server authentication. Type: string (or Expression with resultType string)."
},
"servicePrincipalCredentialType": {
- "x-ms-enum": {
- "name": "DynamicsServicePrincipalCredentialType",
- "modelAsString": true
- },
- "enum": [
- "ServicePrincipalKey",
- "ServicePrincipalCert"
- ],
"type": "object",
"description": "The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string)."
},
@@ -673,6 +688,31 @@
"authenticationType"
]
},
+ "DynamicsDeploymentType": {
+ "description": "All available dynamicsDeploymentType values.",
+ "type": "string",
+ "enum": [
+ "Online",
+ "OnPremisesWithIfd"
+ ],
+ "x-ms-enum": {
+ "name": "DynamicsDeploymentType",
+ "modelAsString": true
+ }
+ },
+ "DynamicsAuthenticationType": {
+ "description": "All available dynamicsAuthenticationType values.",
+ "type": "string",
+ "enum": [
+ "Office365",
+ "Ifd",
+ "AADServicePrincipal"
+ ],
+ "x-ms-enum": {
+ "name": "DynamicsAuthenticationType",
+ "modelAsString": true
+ }
+ },
"DynamicsCrmLinkedService": {
"x-ms-discriminator-value": "DynamicsCrm",
"description": "Dynamics CRM linked service.",
@@ -697,15 +737,7 @@
"description": "Dynamics CRM linked service properties.",
"properties": {
"deploymentType": {
- "x-ms-enum": {
- "name": "DynamicsDeploymentType",
- "modelAsString": true
- },
- "enum": [
- "Online",
- "OnPremisesWithIfd"
- ],
- "type": "string",
+ "type": "object",
"description": "The deployment type of the Dynamics CRM instance. 'Online' for Dynamics CRM Online and 'OnPremisesWithIfd' for Dynamics CRM on-premises with Ifd. Type: string (or Expression with resultType string)."
},
"hostName": {
@@ -725,16 +757,7 @@
"description": "The organization name of the Dynamics CRM instance. The property is required for on-prem and required for online when there are more than one Dynamics CRM instances associated with the user. Type: string (or Expression with resultType string)."
},
"authenticationType": {
- "x-ms-enum": {
- "name": "DynamicsAuthenticationType",
- "modelAsString": true
- },
- "enum": [
- "Office365",
- "Ifd",
- "AADServicePrincipal"
- ],
- "type": "string",
+ "type": "object",
"description": "The authentication type to connect to Dynamics CRM server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario, 'AADServicePrincipal' for Server-To-Server authentication in online scenario. Type: string (or Expression with resultType string)."
},
"username": {
@@ -750,14 +773,6 @@
"description": "The client ID of the application in Azure Active Directory used for Server-To-Server authentication. Type: string (or Expression with resultType string)."
},
"servicePrincipalCredentialType": {
- "x-ms-enum": {
- "name": "DynamicsServicePrincipalCredentialType",
- "modelAsString": true
- },
- "enum": [
- "ServicePrincipalKey",
- "ServicePrincipalCert"
- ],
"type": "object",
"description": "The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string)."
},
@@ -775,6 +790,18 @@
"authenticationType"
]
},
+ "ServicePrincipalCredentialType": {
+ "description": "All available servicePrincipalCredentialType values.",
+ "type": "string",
+ "enum": [
+ "ServicePrincipalKey",
+ "ServicePrincipalCert"
+ ],
+ "x-ms-enum": {
+ "name": "ServicePrincipalCredentialType",
+ "modelAsString": true
+ }
+ },
"CommonDataServiceForAppsLinkedService": {
"x-ms-discriminator-value": "CommonDataServiceForApps",
"description": "Common Data Service for Apps linked service.",
@@ -799,15 +826,7 @@
"description": "Common Data Service for Apps linked service properties.",
"properties": {
"deploymentType": {
- "x-ms-enum": {
- "name": "DynamicsDeploymentType",
- "modelAsString": true
- },
- "enum": [
- "Online",
- "OnPremisesWithIfd"
- ],
- "type": "string",
+ "type": "object",
"description": "The deployment type of the Common Data Service for Apps instance. 'Online' for Common Data Service for Apps Online and 'OnPremisesWithIfd' for Common Data Service for Apps on-premises with Ifd. Type: string (or Expression with resultType string)."
},
"hostName": {
@@ -827,16 +846,7 @@
"description": "The organization name of the Common Data Service for Apps instance. The property is required for on-prem and required for online when there are more than one Common Data Service for Apps instances associated with the user. Type: string (or Expression with resultType string)."
},
"authenticationType": {
- "x-ms-enum": {
- "name": "DynamicsAuthenticationType",
- "modelAsString": true
- },
- "enum": [
- "Office365",
- "Ifd",
- "AADServicePrincipal"
- ],
- "type": "string",
+ "type": "object",
"description": "The authentication type to connect to Common Data Service for Apps server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario. 'AADServicePrincipal' for Server-To-Server authentication in online scenario. Type: string (or Expression with resultType string)."
},
"username": {
@@ -852,14 +862,6 @@
"description": "The client ID of the application in Azure Active Directory used for Server-To-Server authentication. Type: string (or Expression with resultType string)."
},
"servicePrincipalCredentialType": {
- "x-ms-enum": {
- "name": "DynamicsServicePrincipalCredentialType",
- "modelAsString": true
- },
- "enum": [
- "ServicePrincipalKey",
- "ServicePrincipalCert"
- ],
"type": "object",
"description": "The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string)."
},
@@ -5340,15 +5342,6 @@
"description": "The URI for the script action."
},
"roles": {
- "x-ms-enum": {
- "name": "HdiNodeTypes",
- "modelAsString": true
- },
- "enum": [
- "Headnode",
- "Workernode",
- "Zookeeper"
- ],
"type": "object",
"description": "The node types on which the script action should be executed."
},
@@ -5363,6 +5356,19 @@
"roles"
]
},
+ "HdiNodeTypes": {
+ "description": "All available HdiNodeTypes values.",
+ "type": "string",
+ "enum": [
+ "Headnode",
+ "Workernode",
+ "Zookeeper"
+ ],
+ "x-ms-enum": {
+ "name": "HdiNodeTypes",
+ "modelAsString": true
+ }
+ },
"AzureDataLakeAnalyticsLinkedService": {
"x-ms-discriminator-value": "AzureDataLakeAnalytics",
"description": "Azure Data Lake Analytics 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..f8dbc3deed9d 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
@@ -258,6 +258,10 @@
"maxConcurrentConnections": {
"type": "object",
"description": "The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer)."
+ },
+ "disableMetricsCollection": {
+ "type": "object",
+ "description": "If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean)."
}
},
"additionalProperties": {
@@ -934,6 +938,10 @@
"type": "object",
"description": "The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer)."
},
+ "disableMetricsCollection": {
+ "type": "object",
+ "description": "If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean)."
+ },
"copyBehavior": {
"description": "The type of copy behavior for copy sink.",
"type": "object"
@@ -1290,19 +1298,23 @@
],
"properties": {
"filePattern": {
- "description": "File pattern of JSON. This setting controls the way a collection of JSON objects will be treated. The default value is 'setOfObjects'. It is case-sensitive.",
- "type": "string",
- "enum": [
- "setOfObjects",
- "arrayOfObjects"
- ],
- "x-ms-enum": {
- "name": "JsonWriteFilePattern",
- "modelAsString": true
- }
+ "type": "object",
+ "description": "File pattern of JSON. This setting controls the way a collection of JSON objects will be treated. The default value is 'setOfObjects'. It is case-sensitive."
}
}
},
+ "JsonWriteFilePattern": {
+ "description": "All available filePatterns.",
+ "type": "string",
+ "enum": [
+ "setOfObjects",
+ "arrayOfObjects"
+ ],
+ "x-ms-enum": {
+ "name": "JsonWriteFilePattern",
+ "modelAsString": true
+ }
+ },
"AvroSource": {
"description": "A copy activity Avro source.",
"type": "object",
@@ -1656,6 +1668,10 @@
"maxConcurrentConnections": {
"type": "object",
"description": "The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer)."
+ },
+ "disableMetricsCollection": {
+ "type": "object",
+ "description": "If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean)."
}
},
"additionalProperties": {
@@ -3864,6 +3880,10 @@
"maxConcurrentConnections": {
"type": "object",
"description": "The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer)."
+ },
+ "disableMetricsCollection": {
+ "type": "object",
+ "description": "If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean)."
}
},
"additionalProperties": {
@@ -4027,6 +4047,13 @@
"copyBehavior": {
"description": "The type of copy behavior for copy sink.",
"type": "object"
+ },
+ "metadata": {
+ "type": "array",
+ "description": "Specify the custom metadata to be added to sink data. Type: array of objects (or Expression with resultType array of objects).",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ }
}
}
},
@@ -4596,6 +4623,13 @@
"copyBehavior": {
"description": "The type of copy behavior for copy sink.",
"type": "object"
+ },
+ "metadata": {
+ "type": "array",
+ "description": "Specify the custom metadata to be added to sink data. Type: array of objects (or Expression with resultType array of objects).",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ }
}
}
},
@@ -4841,6 +4875,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",
@@ -7134,6 +7198,20 @@
"name": "NetezzaPartitionOption",
"modelAsString": true
}
+ },
+ "MetadataItem": {
+ "description": "Specify the name and value of custom metadata item.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "object",
+ "description": "Metadata item key name. Type: string (or Expression with resultType string)."
+ },
+ "value": {
+ "type": "object",
+ "description": "Metadata item value. Type: string (or Expression with resultType string)."
+ }
+ }
}
}
}
diff --git a/specification/datafactory/resource-manager/readme.azureresourceschema.md b/specification/datafactory/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index 76766e48c563..000000000000
--- a/specification/datafactory/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,43 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-datafactory-2018-06-01
- - tag: schema-datafactory-2017-09-01-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-datafactory-2018-06-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-datafactory-2018-06-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DataFactory/stable/2018-06-01/datafactory.json
- - Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json
- - Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json
- - Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json
- - Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json
- - Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedPrivateEndpoint.json
- - Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json
- - Microsoft.DataFactory/stable/2018-06-01/entityTypes/Trigger.json
-
-```
-
-### Tag: schema-datafactory-2017-09-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-datafactory-2017-09-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.DataFactory/preview/2017-09-01-preview/datafactory.json
-
-```
diff --git a/specification/datafactory/resource-manager/readme.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/datafactory/resource-manager/readme.md b/specification/datafactory/resource-manager/readme.md
index eb66b97b8020..4508d4348157 100644
--- a/specification/datafactory/resource-manager/readme.md
+++ b/specification/datafactory/resource-manager/readme.md
@@ -67,15 +67,13 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-net
- - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-cli-extensions
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js datafactory/resource-manager
```
@@ -92,7 +90,9 @@ csharp:
output-folder: $(csharp-sdks-folder)/datafactory/Microsoft.Azure.Management.DataFactory/src/Generated
clear-output-folder: true
```
+## Python
+See configuration in [readme.python.md](./readme.python.md)
## Go
@@ -203,7 +203,5 @@ directive:
- DataFlow add type required
```
-## AzureResourceSchema
-See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/datafactory/resource-manager/readme.python.md b/specification/datafactory/resource-manager/readme.python.md
index 51f2c51d2ce3..ebf756003427 100644
--- a/specification/datafactory/resource-manager/readme.python.md
+++ b/specification/datafactory/resource-manager/readme.python.md
@@ -4,24 +4,54 @@ 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.datafactory
- package-name: azure-mgmt-datafactory
- package-version: 1.0.0
- clear-output-folder: true
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.datafactory
+package-name: azure-mgmt-datafactory
+package-version: 1.0.0
+clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory
```
-``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/datafactory/azure-mgmt-datafactory
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/datafactory/azure-mgmt-datafactory
+```
+
+``` yaml $(python) && $(track2)
+modelerfour:
+ lenient-model-deduplication: true
+directive:
+ - from: swagger-document
+ where: $.definitions.JsonFormatFilePattern
+ transform: >
+ $['type'] = 'string';
+ - from: swagger-document
+ where: $.definitions.CompressionLevel
+ transform: >
+ $['type'] = 'string';
+ - from: swagger-document
+ where: $.definitions.DynamicsLinkedServiceTypeProperties.properties.servicePrincipalCredentialType
+ transform: >
+ $['type'] = 'string';
+ - from: swagger-document
+ where: $.definitions.ScriptAction.properties.roles
+ transform: >
+ $['type'] = 'string';
+ - from: swagger-document
+ where: $.definitions.DataFlow
+ transform: >
+ $['required'] = ['type'];
+ - from: swagger-document
+ where: $.definitions.ManagedPrivateEndpoint
+ transform: >
+ $['required'] = ['type'];
+ - from: swagger-document
+ where: $.definitions.ManagedVirtualNetwork
+ transform: >
+ $['required'] = ['type'];
```
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.azureresourceschema.md b/specification/datalake-analytics/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index ee0f54438247..000000000000
--- a/specification/datalake-analytics/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,36 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-datalakeanalytics-2016-11-01
- - tag: schema-datalakeanalytics-2015-10-01-preview
-
-```
-
-Please also specify `--azureresourceschema-folder=